summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Dufresne <nicolas.dufresne@collabora.com>2012-07-16 17:36:19 -0400
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2012-07-20 16:19:01 +0200
commitcde5a81aba2b04bab501c6788d1de568dd29025a (patch)
tree487b3dc7f152e6627ec3fa6aa2757b1265c54e2e
parentf7c5be9dd1af21bc678ad68c8c3cf9e515c6a664 (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.c6
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))) {