Browse Source

avconv: fix -frames for video

For video, frame_number tracks the number of frames sent to the encoder.
So it should be incremented when we submit a frame, not when we get a
packet back.
tags/n3.1
Anton Khirnov 10 years ago
parent
commit
69a638019f
1 changed files with 6 additions and 6 deletions
  1. +6
    -6
      avconv.c

+ 6
- 6
avconv.c View File

@@ -537,6 +537,12 @@ static void do_video_out(AVFormatContext *s,
if (ret < 0)
goto error;

/*
* For video, there may be reordering, so we can't throw away frames on
* encoder flush, we need to limit them here, before they go into encoder.
*/
ost->frame_number++;

while (1) {
ret = avcodec_receive_packet(enc, &pkt);
if (ret == AVERROR(EAGAIN))
@@ -554,12 +560,6 @@ static void do_video_out(AVFormatContext *s,
}

ost->sync_opts++;
/*
* For video, number of frames in == number of packets out.
* But there may be reordering, so we can't throw away frames on encoder
* flush, we need to limit them here, before they go into encoder.
*/
ost->frame_number++;
}

return;


Loading…
Cancel
Save