wrappercamerabinsrc: Handle state change failures
When its internal element fails to change state, don't act as if succeeded.
This commit is contained in:
parent
9863feb328
commit
3a495eaafc
@ -942,6 +942,9 @@ gst_wrapper_camera_bin_src_change_state (GstElement * element,
|
|||||||
|
|
||||||
ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, trans);
|
ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, trans);
|
||||||
|
|
||||||
|
if (ret == GST_STATE_CHANGE_FAILURE)
|
||||||
|
goto end;
|
||||||
|
|
||||||
switch (trans) {
|
switch (trans) {
|
||||||
case GST_STATE_CHANGE_READY_TO_NULL:
|
case GST_STATE_CHANGE_READY_TO_NULL:
|
||||||
gst_element_set_state (self->preview_pipeline->pipeline, GST_STATE_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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
end:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user