avconv: Check that muxing_queue exists before reading from it

This avoids a segfault on nonexisting codec names.
This commit is contained in:
Diego Biurrun 2016-07-25 15:04:02 +02:00
parent 100fb0ddfd
commit e46a6fb773
1 changed files with 8 additions and 6 deletions

View File

@ -203,13 +203,15 @@ static void avconv_cleanup(int ret)
avcodec_free_context(&ost->enc_ctx); avcodec_free_context(&ost->enc_ctx);
while (av_fifo_size(ost->muxing_queue)) { if (ost->muxing_queue) {
AVPacket pkt; while (av_fifo_size(ost->muxing_queue)) {
av_fifo_generic_read(ost->muxing_queue, &pkt, sizeof(pkt), NULL); AVPacket pkt;
av_packet_unref(&pkt); av_log(NULL, AV_LOG_INFO, "after av_fifo_size()\n");
av_fifo_generic_read(ost->muxing_queue, &pkt, sizeof(pkt), NULL);
av_packet_unref(&pkt);
}
av_fifo_free(ost->muxing_queue);
} }
av_fifo_free(ost->muxing_queue);
av_freep(&output_streams[i]); av_freep(&output_streams[i]);
} }
for (i = 0; i < nb_input_files; i++) { for (i = 0; i < nb_input_files; i++) {