diff options
author | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2012-07-16 17:36:19 -0400 |
---|---|---|
committer | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2012-07-20 16:19:01 +0200 |
commit | cde5a81aba2b04bab501c6788d1de568dd29025a (patch) | |
tree | 487b3dc7f152e6627ec3fa6aa2757b1265c54e2e | |
parent | f7c5be9dd1af21bc678ad68c8c3cf9e515c6a664 (diff) |
asfdemux: convert invalid 0 payload TS into GST_CLOCK_TIME_NONE
... so it does not get used as first (valid) payload ts, whereas
the first real valid payload ts may be considerably larger.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679838
-rw-r--r-- | gst/asfdemux/asfpacket.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gst/asfdemux/asfpacket.c b/gst/asfdemux/asfpacket.c index e3afd677..1ae01546 100644 --- a/gst/asfdemux/asfpacket.c +++ b/gst/asfdemux/asfpacket.c @@ -132,6 +132,12 @@ gst_asf_payload_queue_for_stream (GstASFDemux * demux, AsfPayload * payload, { GST_DEBUG_OBJECT (demux, "Got payload for stream %d ts:%" GST_TIME_FORMAT, stream->id, GST_TIME_ARGS (payload->ts)); + + /* Before preroll ts might be invalid and set to 0 */ + if (G_UNLIKELY (payload->ts == 0 && demux->preroll)) { + payload->ts = GST_CLOCK_TIME_NONE; + } + /* remember the first timestamp in the stream */ if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (demux->first_ts) && GST_CLOCK_TIME_IS_VALID (payload->ts))) { |