summaryrefslogtreecommitdiffstats
path: root/gst/aacparse
diff options
context:
space:
mode:
authorDave Robillard <dave@drobilla.net>2009-06-19 21:01:54 -0400
committerDave Robillard <dave@drobilla.net>2009-06-19 21:01:54 -0400
commit925e83ee60c5406b2e5f0f39b0da0f90370efc27 (patch)
treece01d298ed0c5d31853fa43aedc2af0779417816 /gst/aacparse
parent7f3bcd484b465d8216ac419754450adf07e9b0d2 (diff)
parentc70dbe94b5ff9a0993d852605d40c21020c59552 (diff)
downloadgst-plugins-bad-925e83ee60c5406b2e5f0f39b0da0f90370efc27.tar.gz
gst-plugins-bad-925e83ee60c5406b2e5f0f39b0da0f90370efc27.tar.bz2
gst-plugins-bad-925e83ee60c5406b2e5f0f39b0da0f90370efc27.zip
Merge branch 'master' of git://anongit.freedesktop.org/gstreamer/gst-plugins-bad into fdo
Diffstat (limited to 'gst/aacparse')
-rw-r--r--gst/aacparse/gstaacparse.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gst/aacparse/gstaacparse.c b/gst/aacparse/gstaacparse.c
index 07906347..6db4b619 100644
--- a/gst/aacparse/gstaacparse.c
+++ b/gst/aacparse/gstaacparse.c
@@ -664,8 +664,12 @@ gst_aacparse_parse_frame (GstBaseParse * parse, GstBuffer * buffer)
}
}
- GST_BUFFER_DURATION (buffer) = AAC_FRAME_DURATION (aacparse);
- GST_BUFFER_TIMESTAMP (buffer) = aacparse->ts;
+ /* ADIF: only send an initial 0 timestamp downstream,
+ * then admit we have no idea and let downstream (decoder) handle it */
+ if (aacparse->header_type != DSPAAC_HEADER_ADIF || !aacparse->ts) {
+ GST_BUFFER_DURATION (buffer) = AAC_FRAME_DURATION (aacparse);
+ GST_BUFFER_TIMESTAMP (buffer) = aacparse->ts;
+ }
if (GST_CLOCK_TIME_IS_VALID (aacparse->ts))
aacparse->ts += GST_BUFFER_DURATION (buffer);