decodebin: Do not block on sticky and oob events

This commit is contained in:
Matej Knopp 2012-04-16 13:43:41 +02:00 committed by Sebastian Dröge
parent 532659de4d
commit b6765417e1

View file

@ -3752,6 +3752,14 @@ source_pad_blocked_cb (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
GstDecodeChain *chain;
GstDecodeBin *dbin;
if ((GST_PAD_PROBE_INFO_TYPE (info) & GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) &&
(GST_EVENT_IS_STICKY (GST_PAD_PROBE_INFO_EVENT (info))
|| !GST_EVENT_IS_SERIALIZED (GST_PAD_PROBE_INFO_EVENT (info)))) {
/* do not block on sticky or out of band events otherwise the allocation query
from demuxer might block the loop thread */
return GST_PAD_PROBE_PASS;
}
chain = dpad->chain;
dbin = chain->dbin;