diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2015-10-17 22:20:31 +0300 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-10-20 10:15:50 +0300 |
commit | 70c8bf65ed63bf2929bf30c8ead7831d595409a8 (patch) | |
tree | 547f79e359a1d3af278fe8a8c7f110b6705dec97 | |
parent | 9948019e089fdf9528e97a9dedc5e536b4ac950a (diff) | |
download | gstreamer-plugins-base-70c8bf65ed63bf2929bf30c8ead7831d595409a8.tar.gz |
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
-rw-r--r-- | gst/playback/gstplaysink.c | 4 |
1 files changed, 3 insertions, 1 deletions
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 */ |