Improve EOS logic to check all pads when pulling a packet returned EOS
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 29 Jan 2009 14:56:08 +0000 (15:56 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Sat, 31 Jan 2009 10:02:25 +0000 (11:02 +0100)
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.

gst/mxf/mxfdemux.c

index eac597f7afcecb29836445163b1f72632c3d1998..63cd1ac9bd4ed740ef18e9ea55d2e2e6f1faf857 100644 (file)
@@ -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;