From 70c8bf65ed63bf2929bf30c8ead7831d595409a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 17 Oct 2015 22:20:31 +0300 Subject: playsink: Immediately error out if state change fails Otherwise we chain up to the parent class' change_state function and might override the failure with SUCCESS. https://bugzilla.gnome.org/show_bug.cgi?id=756611 --- gst/playback/gstplaysink.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c index 6250134e9..6c5a2cfeb 100644 --- a/gst/playback/gstplaysink.c +++ b/gst/playback/gstplaysink.c @@ -4769,8 +4769,10 @@ gst_play_sink_change_state (GstElement * element, GstStateChange transition) ret = GST_STATE_CHANGE_ASYNC; /* block all pads here */ - if (!gst_play_sink_reconfigure (playsink)) + if (!gst_play_sink_reconfigure (playsink)) { ret = GST_STATE_CHANGE_FAILURE; + goto activate_failed; + } break; case GST_STATE_CHANGE_PAUSED_TO_READY: /* unblock all pads here */ -- cgit v1.2.1