summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gst/avi/gstavidemux.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index 21714c8a..d17d12ef 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -1670,10 +1670,14 @@ gst_avi_demux_loop (GstElement *element)
guint32 got_bytes;
if (chunk.size) {
+ GstClockTime dur_ts;
got_bytes = gst_bytestream_peek (avi_demux->bs, &buf, chunk.size);
-
+
GST_BUFFER_TIMESTAMP (buf) = next_ts;
+ gst_pad_query (stream->pad, GST_QUERY_POSITION, &format, &dur_ts);
+ GST_BUFFER_DURATION (buf) = dur_ts - next_ts;
+
if (stream->need_flush) {
/* FIXME, do some flush event here */
stream->need_flush = FALSE;