summaryrefslogtreecommitdiff
path: root/avconv.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2016-03-27 14:25:31 +0200
committerAnton Khirnov <anton@khirnov.net>2016-03-30 09:13:09 +0200
commit69a638019fc0db4c2b75b36ef45d0acb6d2e9628 (patch)
tree56a72e636b1ec07e0ec0414e067c8a0b155bc788 /avconv.c
parent83f230c2445a94fdd94c66504482217fcece5909 (diff)
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.
Diffstat (limited to 'avconv.c')
-rw-r--r--avconv.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/avconv.c b/avconv.c
index 07c81fa2ad..2e199e3623 100644
--- a/avconv.c
+++ b/avconv.c
@@ -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;