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:01 +0200 |
commit | 63c17280408410d799e1c2f2ed49c5ab04cc80ae (patch) | |
tree | 11d945607a1e89974a35076ad451ce0f476f515d | |
parent | 094fdfee7ec31019a54beb347457435cf9f62a0c (diff) |
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 9f2e52cfc3..fc5a3af3b6 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -2684,10 +2684,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; + } } } |