summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/androidmedia/gstamc.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/sys/androidmedia/gstamc.c b/sys/androidmedia/gstamc.c
index 5b4e93618..1733ca229 100644
--- a/sys/androidmedia/gstamc.c
+++ b/sys/androidmedia/gstamc.c
@@ -3327,22 +3327,27 @@ plugin_init (GstPlugin * plugin)
if (!gst_android_graphics_imageformat_init ()) {
GST_ERROR ("Failed to init android image format");
- gst_android_graphics_surfacetexture_deinit ();
- return FALSE;
+ goto failed_surfacetexture;
}
if (!gst_android_hardware_camera_init ()) {
- gst_android_graphics_surfacetexture_deinit ();
- gst_android_graphics_imageformat_deinit ();
- return FALSE;
+ goto failed_graphics_imageformat;
}
if (!gst_element_register (plugin, "ahcsrc", GST_RANK_NONE, GST_TYPE_AHC_SRC)) {
GST_ERROR ("Failed to register android camera source");
- return FALSE;
+ goto failed_hardware_camera;
}
return TRUE;
+
+failed_hardware_camera:
+ gst_android_hardware_camera_deinit ();
+failed_graphics_imageformat:
+ gst_android_graphics_imageformat_deinit ();
+failed_surfacetexture:
+ gst_android_graphics_surfacetexture_deinit ();
+ return FALSE;
}
void