From 10eb1a0ff4c81ffdfcd3e103e5d4bb3fbeb24d1b Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 21 Sep 2009 18:09:12 +0200 Subject: [PATCH] avi: fix timestamps in push mode --- gst/avi/gstavidemux.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c index 3a73253..0f63893 100644 --- a/gst/avi/gstavidemux.c +++ b/gst/avi/gstavidemux.c @@ -4322,8 +4322,6 @@ gst_avi_demux_stream_data (GstAviDemux * avi) stream->delay = next_ts; */ - stream->current_frame++; - stream->current_byte += size; /* parsing of corresponding header may have failed */ if (G_UNLIKELY (!stream->pad)) { @@ -4338,6 +4336,9 @@ gst_avi_demux_stream_data (GstAviDemux * avi) if (G_UNLIKELY (format != GST_FORMAT_TIME)) goto wrong_format; + stream->current_frame++; + stream->current_byte += size; + /* invert the picture if needed */ buf = gst_avi_demux_invert (stream, buf); @@ -4354,10 +4355,11 @@ gst_avi_demux_stream_data (GstAviDemux * avi) gst_buffer_set_caps (buf, GST_PAD_CAPS (stream->pad)); GST_DEBUG_OBJECT (avi, - "Pushing buffer with time=%" GST_TIME_FORMAT - ", offset %" G_GUINT64_FORMAT " and size %d over pad %s", - GST_TIME_ARGS (next_ts), GST_BUFFER_OFFSET (buf), size, - GST_PAD_NAME (stream->pad)); + "Pushing buffer with time=%" GST_TIME_FORMAT ", duration %" + GST_TIME_FORMAT ", offset %" G_GUINT64_FORMAT + " and size %d over pad %s", GST_TIME_ARGS (next_ts), + GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)), GST_BUFFER_OFFSET (buf), + size, GST_PAD_NAME (stream->pad)); /* update current position in the segment */ gst_segment_set_last_stop (&avi->segment, GST_FORMAT_TIME, next_ts); -- 2.7.4