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).

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

index ac546c1..38af1ab 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-12-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
+
+       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).
+
 2008-12-01  Mark Nauwelaerts  <mark.nauwelaerts@collabora.co.uk>
 
        * gst/qtmux/atoms.c: (build_jp2h_extension):
diff --git a/common b/common
index 24963a6..9a48616 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit 24963a683c185e1405b6f0aad37d95064cced93b
+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;
   }
 }