gst/playback/gstdecodebin.c: Also consider the flush-start and tag events as unblockers for the pad probes.

Original commit message from CVS:
* gst/playback/gstdecodebin.c: (pad_probe):
Also consider the flush-start and tag events as unblockers
for the pad probes.
This commit is contained in:
Edward Hervey 2006-01-26 13:09:24 +00:00
parent 6819972f0d
commit efd9da3dd0
2 changed files with 16 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2006-01-26 Edward Hervey <edward@fluendo.com>
* gst/playback/gstdecodebin.c: (pad_probe):
Also consider the flush-start and tag events as unblockers
for the pad probes.
2006-01-26 Julien MOUTTE <julien@moutte.net>
* gst/playback/gstplaybin.c: (gst_play_bin_init),

View file

@ -521,10 +521,18 @@ pad_probe (GstPad * pad, GstMiniObject * data, GstDecodeBin * decode_bin)
PadProbeData *pdata = (PadProbeData *) tmp->data;
if (pdata->pad == pad) {
if (GST_IS_BUFFER (data))
if (GST_IS_BUFFER (data)) {
if (!pdata->done)
decode_bin->numwaiting--;
pdata->done = TRUE;
else if (GST_IS_EVENT (data) && (GST_EVENT_TYPE (data) == GST_EVENT_EOS))
} else if (GST_IS_EVENT (data) &&
((GST_EVENT_TYPE (data) == GST_EVENT_EOS) ||
(GST_EVENT_TYPE (data) == GST_EVENT_TAG) ||
(GST_EVENT_TYPE (data) == GST_EVENT_FLUSH_START))) {
if (!pdata->done)
decode_bin->numwaiting--;
pdata->done = TRUE;
}
} else if (!(pdata->done))
alldone = FALSE;
}