gst/playback/gstplaybin2.c: Catch state change errors and stop from the uridecodebin elements instead of trying to co...
Original commit message from CVS: * gst/playback/gstplaybin2.c: (activate_group): Catch state change errors and stop from the uridecodebin elements instead of trying to continue in vain.
This commit is contained in:
parent
dfa2705aa0
commit
79199d884f
@ -1,3 +1,9 @@
|
|||||||
|
2008-11-11 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||||
|
|
||||||
|
* gst/playback/gstplaybin2.c: (activate_group):
|
||||||
|
Catch state change errors and stop from the uridecodebin elements
|
||||||
|
instead of trying to continue in vain.
|
||||||
|
|
||||||
2008-11-10 Wim Taymans <wim.taymans@collabora.co.uk>
|
2008-11-10 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||||
|
|
||||||
* gst-libs/gst/audio/gstbaseaudiosink.c:
|
* gst-libs/gst/audio/gstbaseaudiosink.c:
|
||||||
|
@ -2056,9 +2056,13 @@ activate_group (GstPlayBin * playbin, GstSourceGroup * group)
|
|||||||
/* we have 2 pending no-more-pads */
|
/* we have 2 pending no-more-pads */
|
||||||
group->pending = 2;
|
group->pending = 2;
|
||||||
|
|
||||||
gst_element_set_state (suburidecodebin, GST_STATE_PAUSED);
|
if (gst_element_set_state (suburidecodebin,
|
||||||
|
GST_STATE_PAUSED) == GST_STATE_CHANGE_FAILURE)
|
||||||
|
goto suburidecodebin_failure;
|
||||||
}
|
}
|
||||||
gst_element_set_state (uridecodebin, GST_STATE_PAUSED);
|
if (gst_element_set_state (uridecodebin,
|
||||||
|
GST_STATE_PAUSED) == GST_STATE_CHANGE_FAILURE)
|
||||||
|
goto uridecodebin_failure;
|
||||||
|
|
||||||
group->active = TRUE;
|
group->active = TRUE;
|
||||||
GST_SOURCE_GROUP_UNLOCK (group);
|
GST_SOURCE_GROUP_UNLOCK (group);
|
||||||
@ -2071,6 +2075,18 @@ no_decodebin:
|
|||||||
GST_SOURCE_GROUP_UNLOCK (group);
|
GST_SOURCE_GROUP_UNLOCK (group);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
suburidecodebin_failure:
|
||||||
|
{
|
||||||
|
GST_DEBUG_OBJECT (playbin, "failed state change of subtitle uridecodebin");
|
||||||
|
GST_SOURCE_GROUP_UNLOCK (group);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
uridecodebin_failure:
|
||||||
|
{
|
||||||
|
GST_DEBUG_OBJECT (playbin, "failed state change of uridecodebin");
|
||||||
|
GST_SOURCE_GROUP_UNLOCK (group);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* unlink a group of uridecodebins from the sink.
|
/* unlink a group of uridecodebins from the sink.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user