From 10097dffbd1f9a4874c93cbce4868685463b1548 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EC=9D=B4=EB=AC=B8=ED=98=95?= Date: Mon, 1 Dec 2008 19:36:35 +0000 Subject: [PATCH] gst-libs/gst/app/gstappsrc.c: Don't forget to release the lock again if we bail out because some pad is flushing or w... MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Original commit message from CVS: Patch by: 이문형 * gst-libs/gst/app/gstappsrc.c: (gst_app_src_push_buffer): Don't forget to release the lock again if we bail out because some pad is flushing or we've reached EOS, otherwise things will lock up next time _push_buffer() is called (#562802). --- ChangeLog | 9 +++++++++ common | 2 +- gst-libs/gst/app/gstappsrc.c | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index ac546c1..38af1ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-12-01 Tim-Philipp Müller + + Patch by: 이문형 + + * gst-libs/gst/app/gstappsrc.c: (gst_app_src_push_buffer): + Don't forget to release the lock again if we bail out because some + pad is flushing or we've reached EOS, otherwise things will lock up + next time _push_buffer() is called (#562802). + 2008-12-01 Mark Nauwelaerts * gst/qtmux/atoms.c: (build_jp2h_extension): diff --git a/common b/common index 24963a6..9a48616 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 24963a683c185e1405b6f0aad37d95064cced93b +Subproject commit 9a486164b87586f7b936a55b1ee56a14cd4e2c73 diff --git a/gst-libs/gst/app/gstappsrc.c b/gst-libs/gst/app/gstappsrc.c index a10f9a3..3bec52f 100644 --- a/gst-libs/gst/app/gstappsrc.c +++ b/gst-libs/gst/app/gstappsrc.c @@ -991,12 +991,14 @@ flushing: { GST_DEBUG_OBJECT (appsrc, "refuse buffer %p, we are flushing", buffer); gst_buffer_unref (buffer); + g_mutex_unlock (appsrc->mutex); return GST_FLOW_WRONG_STATE; } eos: { GST_DEBUG_OBJECT (appsrc, "refuse buffer %p, we are EOS", buffer); gst_buffer_unref (buffer); + g_mutex_unlock (appsrc->mutex); return GST_FLOW_UNEXPECTED; } } -- 2.7.4