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).
This commit is contained in:
이문형 2008-12-01 19:36:35 +00:00 committed by Tim-Philipp Müller
parent 86638af6cb
commit 10097dffbd
3 changed files with 12 additions and 1 deletions

View file

@ -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> 2008-12-01 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
* gst/qtmux/atoms.c: (build_jp2h_extension): * gst/qtmux/atoms.c: (build_jp2h_extension):

2
common

@ -1 +1 @@
Subproject commit 24963a683c185e1405b6f0aad37d95064cced93b Subproject commit 9a486164b87586f7b936a55b1ee56a14cd4e2c73

View file

@ -991,12 +991,14 @@ flushing:
{ {
GST_DEBUG_OBJECT (appsrc, "refuse buffer %p, we are flushing", buffer); GST_DEBUG_OBJECT (appsrc, "refuse buffer %p, we are flushing", buffer);
gst_buffer_unref (buffer); gst_buffer_unref (buffer);
g_mutex_unlock (appsrc->mutex);
return GST_FLOW_WRONG_STATE; return GST_FLOW_WRONG_STATE;
} }
eos: eos:
{ {
GST_DEBUG_OBJECT (appsrc, "refuse buffer %p, we are EOS", buffer); GST_DEBUG_OBJECT (appsrc, "refuse buffer %p, we are EOS", buffer);
gst_buffer_unref (buffer); gst_buffer_unref (buffer);
g_mutex_unlock (appsrc->mutex);
return GST_FLOW_UNEXPECTED; return GST_FLOW_UNEXPECTED;
} }
} }