asfdemux: Make sure we always set proper payload duration.
authorEdward Hervey <bilboed@bilboed.com>
Mon, 1 Mar 2010 13:05:58 +0000 (14:05 +0100)
committerEdward Hervey <bilboed@bilboed.com>
Mon, 1 Mar 2010 15:51:56 +0000 (16:51 +0100)
Some (broken) streams will have a delta of 0, resulting in outgoing
buffers having durations of 0.

Fixes #611473

gst/asfdemux/asfpacket.c

index d266593..924ede8 100644 (file)
@@ -443,7 +443,10 @@ gst_asf_demux_parse_payload (GstASFDemux * demux, AsfPacket * packet,
             &payload_data, &payload_len, sub_payload_len);
 
         payload.ts = ts;
-        payload.duration = ts_delta;
+        if (G_LIKELY (ts_delta))
+          payload.duration = ts_delta;
+        else
+          payload.duration = GST_CLOCK_TIME_NONE;
 
         gst_asf_payload_queue_for_stream (demux, &payload, stream);
       }