diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2014-04-20 11:59:02 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2014-04-20 12:01:45 +0200 |
commit | d75068d6cfb48ce10c34b0b0b2f93452fadf4840 (patch) | |
tree | 500cf70b543a6f7819763233d28443f200c675bd | |
parent | e71d192e6d4267c87b03453406c85a0cdffe83b1 (diff) | |
download | gstreamer-d75068d6cfb48ce10c34b0b0b2f93452fadf4840.tar.gz |
basesrc: Make sure to always hold the LIVE_LOCK when going to the flushing label
https://bugzilla.gnome.org/show_bug.cgi?id=728596
-rw-r--r-- | libs/gst/base/gstbasesrc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index dd55e32b38..eb0918c099 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -2628,10 +2628,12 @@ gst_base_src_loop (GstPad * pad) if (gst_pad_check_reconfigure (pad)) { if (!gst_base_src_negotiate (src)) { gst_pad_mark_reconfigure (pad); - if (GST_PAD_IS_FLUSHING (pad)) + if (GST_PAD_IS_FLUSHING (pad)) { + GST_LIVE_LOCK (src); goto flushing; - else + } else { goto negotiate_failed; + } } } |