avi: fix timestamps in push mode

This commit is contained in:
Wim Taymans 2009-09-21 18:09:12 +02:00 committed by Wim Taymans
parent 253f43203d
commit 10eb1a0ff4

View file

@ -4322,8 +4322,6 @@ gst_avi_demux_stream_data (GstAviDemux * avi)
stream->delay = next_ts; stream->delay = next_ts;
*/ */
stream->current_frame++;
stream->current_byte += size;
/* parsing of corresponding header may have failed */ /* parsing of corresponding header may have failed */
if (G_UNLIKELY (!stream->pad)) { if (G_UNLIKELY (!stream->pad)) {
@ -4338,6 +4336,9 @@ gst_avi_demux_stream_data (GstAviDemux * avi)
if (G_UNLIKELY (format != GST_FORMAT_TIME)) if (G_UNLIKELY (format != GST_FORMAT_TIME))
goto wrong_format; goto wrong_format;
stream->current_frame++;
stream->current_byte += size;
/* invert the picture if needed */ /* invert the picture if needed */
buf = gst_avi_demux_invert (stream, buf); 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_buffer_set_caps (buf, GST_PAD_CAPS (stream->pad));
GST_DEBUG_OBJECT (avi, GST_DEBUG_OBJECT (avi,
"Pushing buffer with time=%" GST_TIME_FORMAT "Pushing buffer with time=%" GST_TIME_FORMAT ", duration %"
", offset %" G_GUINT64_FORMAT " and size %d over pad %s", GST_TIME_FORMAT ", offset %" G_GUINT64_FORMAT
GST_TIME_ARGS (next_ts), GST_BUFFER_OFFSET (buf), size, " and size %d over pad %s", GST_TIME_ARGS (next_ts),
GST_PAD_NAME (stream->pad)); GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)), GST_BUFFER_OFFSET (buf),
size, GST_PAD_NAME (stream->pad));
/* update current position in the segment */ /* update current position in the segment */
gst_segment_set_last_stop (&avi->segment, GST_FORMAT_TIME, next_ts); gst_segment_set_last_stop (&avi->segment, GST_FORMAT_TIME, next_ts);