|
|
@@ -1904,8 +1904,6 @@ static void flush_encoders(void) |
|
|
|
if (enc->codec_type != AVMEDIA_TYPE_VIDEO && enc->codec_type != AVMEDIA_TYPE_AUDIO) |
|
|
|
continue; |
|
|
|
|
|
|
|
avcodec_send_frame(enc, NULL); |
|
|
|
|
|
|
|
for (;;) { |
|
|
|
const char *desc = NULL; |
|
|
|
AVPacket pkt; |
|
|
@@ -1927,7 +1925,17 @@ static void flush_encoders(void) |
|
|
|
pkt.size = 0; |
|
|
|
|
|
|
|
update_benchmark(NULL); |
|
|
|
ret = avcodec_receive_packet(enc, &pkt); |
|
|
|
|
|
|
|
while ((ret = avcodec_receive_packet(enc, &pkt)) == AVERROR(EAGAIN)) { |
|
|
|
ret = avcodec_send_frame(enc, NULL); |
|
|
|
if (ret < 0) { |
|
|
|
av_log(NULL, AV_LOG_FATAL, "%s encoding failed: %s\n", |
|
|
|
desc, |
|
|
|
av_err2str(ret)); |
|
|
|
exit_program(1); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
update_benchmark("flush_%s %d.%d", desc, ost->file_index, ost->index); |
|
|
|
if (ret < 0 && ret != AVERROR_EOF) { |
|
|
|
av_log(NULL, AV_LOG_FATAL, "%s encoding failed: %s\n", |
|
|
|