From 3a495eaafc9fe2f47c9f2d33bc8a65ad79fe6735 Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Mon, 10 Jan 2011 15:19:04 -0300 Subject: [PATCH] wrappercamerabinsrc: Handle state change failures When its internal element fails to change state, don't act as if succeeded. --- gst/camerabin2/gstwrappercamerabinsrc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gst/camerabin2/gstwrappercamerabinsrc.c b/gst/camerabin2/gstwrappercamerabinsrc.c index 9fec1e43f7..2f3d793340 100644 --- a/gst/camerabin2/gstwrappercamerabinsrc.c +++ b/gst/camerabin2/gstwrappercamerabinsrc.c @@ -942,6 +942,9 @@ gst_wrapper_camera_bin_src_change_state (GstElement * element, ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, trans); + if (ret == GST_STATE_CHANGE_FAILURE) + goto end; + switch (trans) { case GST_STATE_CHANGE_READY_TO_NULL: gst_element_set_state (self->preview_pipeline->pipeline, GST_STATE_NULL); @@ -954,6 +957,7 @@ gst_wrapper_camera_bin_src_change_state (GstElement * element, break; } +end: return ret; }