summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author이문형 <iwings@gmail.com>2008-12-01 19:36:35 +0000
committerTim-Philipp Müller <tim@centricular.net>2008-12-01 19:36:35 +0000
commit10097dffbd1f9a4874c93cbce4868685463b1548 (patch)
treec9f88a9c2f79faddeec65f48a723f4218e4f6c4a
parent86638af6cb3d38f443c4ad0c8dec87c66fd1243d (diff)
downloadgst-plugins-bad-10097dffbd1f9a4874c93cbce4868685463b1548.tar.gz
gst-plugins-bad-10097dffbd1f9a4874c93cbce4868685463b1548.tar.bz2
gst-plugins-bad-10097dffbd1f9a4874c93cbce4868685463b1548.zip
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...
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).
-rw-r--r--ChangeLog9
m---------common0
-rw-r--r--gst-libs/gst/app/gstappsrc.c2
3 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ac546c18..38af1ab0 100644
--- 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
-Subproject 24963a683c185e1405b6f0aad37d95064cced93
+Subproject 9a486164b87586f7b936a55b1ee56a14cd4e2c7
diff --git a/gst-libs/gst/app/gstappsrc.c b/gst-libs/gst/app/gstappsrc.c
index a10f9a32..3bec52f2 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;
}
}