summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;
}
}