mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
decodebin/playbin/playsink/subtitleoverlay: Post async-done on state change failures
https://bugzilla.gnome.org/show_bug.cgi?id=756611
This commit is contained in:
parent
87dbe54797
commit
4d6aa0f831
4 changed files with 8 additions and 1 deletions
|
@ -5147,6 +5147,7 @@ activate_failed:
|
|||
{
|
||||
GST_DEBUG_OBJECT (element,
|
||||
"element failed to change states -- activation problem?");
|
||||
do_async_done (dbin);
|
||||
return GST_STATE_CHANGE_FAILURE;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5782,6 +5782,8 @@ gst_play_bin_change_state (GstElement * element, GstStateChange transition)
|
|||
/* ERRORS */
|
||||
failure:
|
||||
{
|
||||
do_async_done (playbin);
|
||||
|
||||
if (transition == GST_STATE_CHANGE_READY_TO_PAUSED) {
|
||||
GstSourceGroup *curr_group;
|
||||
|
||||
|
|
|
@ -4961,6 +4961,7 @@ activate_failed:
|
|||
{
|
||||
GST_DEBUG_OBJECT (element,
|
||||
"element failed to change states -- activation problem?");
|
||||
do_async_done (playsink);
|
||||
return GST_STATE_CHANGE_FAILURE;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1333,8 +1333,11 @@ gst_subtitle_overlay_change_state (GstElement * element,
|
|||
|
||||
bret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
|
||||
GST_DEBUG_OBJECT (self, "Base class state changed returned: %d", bret);
|
||||
if (G_UNLIKELY (bret == GST_STATE_CHANGE_FAILURE))
|
||||
if (G_UNLIKELY (bret == GST_STATE_CHANGE_FAILURE)) {
|
||||
do_async_done (self);
|
||||
return ret;
|
||||
}
|
||||
|
||||
else if (bret == GST_STATE_CHANGE_ASYNC)
|
||||
ret = bret;
|
||||
else if (G_UNLIKELY (bret == GST_STATE_CHANGE_NO_PREROLL)) {
|
||||
|
|
Loading…
Reference in a new issue