mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-28 03:00:35 +00:00
avidemux: init current_entry in push mode
Set the current_entry to 0 (instead of -1) in push mode so that we correctly calculate the current frame number and timestamp. Add some more debug info and fic the duration debug.
This commit is contained in:
parent
24b93d82ec
commit
ee6d7fd2db
1 changed files with 7 additions and 1 deletions
|
@ -2816,6 +2816,7 @@ gst_avi_demux_stream_header_push (GstAviDemux * avi)
|
|||
GstBuffer *buf = NULL, *sub = NULL;
|
||||
guint offset = 4;
|
||||
gint64 stop;
|
||||
gint i;
|
||||
|
||||
GST_DEBUG ("Reading and parsing avi headers: %d", avi->header_state);
|
||||
|
||||
|
@ -3001,6 +3002,10 @@ skipping_done:
|
|||
|
||||
gst_avi_demux_expose_streams (avi, TRUE);
|
||||
|
||||
/* prepare all streams for index 0 */
|
||||
for (i = 0; i < avi->num_streams; i++)
|
||||
avi->stream[i].current_entry = 0;
|
||||
|
||||
/* create initial NEWSEGMENT event */
|
||||
if ((stop = avi->segment.stop) == GST_CLOCK_TIME_NONE)
|
||||
stop = avi->segment.duration;
|
||||
|
@ -4345,7 +4350,7 @@ gst_avi_demux_stream_data (GstAviDemux * avi)
|
|||
"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),
|
||||
GST_TIME_ARGS (GST_BUFFER_DURATION (buf)), GST_BUFFER_OFFSET (buf),
|
||||
size, GST_PAD_NAME (stream->pad));
|
||||
|
||||
/* update current position in the segment */
|
||||
|
@ -4353,6 +4358,7 @@ gst_avi_demux_stream_data (GstAviDemux * avi)
|
|||
|
||||
/* mark discont when pending */
|
||||
if (G_UNLIKELY (stream->discont)) {
|
||||
GST_DEBUG_OBJECT (avi, "Setting DISCONT");
|
||||
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DISCONT);
|
||||
stream->discont = FALSE;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue