summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2009-01-29 15:56:08 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2009-01-31 11:02:25 +0100
commita930b36adc21a938e457666b86f8f3e11c7996fb (patch)
tree1092a7ce983bf2fa7fed60e2497c11945f0d41ee
parent2dbe7063302eb8140652efe46a29cf411c2e978d (diff)
downloadgst-plugins-bad-a930b36adc21a938e457666b86f8f3e11c7996fb.tar.gz
gst-plugins-bad-a930b36adc21a938e457666b86f8f3e11c7996fb.tar.bz2
gst-plugins-bad-a930b36adc21a938e457666b86f8f3e11c7996fb.zip
Improve EOS logic to check all pads when pulling a packet returned EOS
This makes sure that we finish all pads that are at EOS now instead of just finishing one and returning to this point over and over again.
-rw-r--r--gst/mxf/mxfdemux.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gst/mxf/mxfdemux.c b/gst/mxf/mxfdemux.c
index eac597f7..63cd1ac9 100644
--- a/gst/mxf/mxfdemux.c
+++ b/gst/mxf/mxfdemux.c
@@ -2313,11 +2313,10 @@ gst_mxf_demux_pull_and_handle_klv_packet (GstMXFDemux * demux)
gst_mxf_demux_find_essence_element (demux, p->current_essence_track,
&position, FALSE);
if (offset == -1) {
- GST_ERROR_OBJECT (demux,
- "Failed to find offset for late essence track");
+ GST_ERROR_OBJECT (demux, "Failed to find offset for essence track");
p->eos = TRUE;
gst_pad_push_event (GST_PAD_CAST (p), gst_event_new_eos ());
- goto beach;
+ continue;
}
demux->offset = offset + demux->run_in;