gst-libs/gst/app/gstappsrc.c: Don't forget to release the lock again if we bail out...
author이문형 <iwings@gmail.com>
Mon, 1 Dec 2008 19:36:35 +0000 (19:36 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Mon, 1 Dec 2008 19:36:35 +0000 (19:36 +0000)
Original commit message from CVS:
Patch by: 이문형 <iwings at gmail dot com>
* 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).

common
gst-libs/gst/app/gstappsrc.c

diff --git a/common b/common
index 03699ff..9a48616 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit 03699ffc577ee8a42541862f11a6d0d0dff34f41
+Subproject commit 9a486164b87586f7b936a55b1ee56a14cd4e2c73
index a10f9a3..3bec52f 100644 (file)
@@ -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;
   }
 }