|
|
|
@ -2057,7 +2057,7 @@ out: |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* pkt = NULL means EOF (needed to flush decoder buffers) */ |
|
|
|
|
static int output_packet(InputStream *ist, const AVPacket *pkt) |
|
|
|
|
static int process_input_packet(InputStream *ist, const AVPacket *pkt) |
|
|
|
|
{ |
|
|
|
|
int ret = 0, i; |
|
|
|
|
int got_output = 0; |
|
|
|
@ -3340,7 +3340,7 @@ static int process_input(int file_index) |
|
|
|
|
for (i = 0; i < ifile->nb_streams; i++) { |
|
|
|
|
ist = input_streams[ifile->ist_index + i]; |
|
|
|
|
if (ist->decoding_needed) { |
|
|
|
|
ret = output_packet(ist, NULL); |
|
|
|
|
ret = process_input_packet(ist, NULL); |
|
|
|
|
if (ret>0) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
@ -3521,7 +3521,7 @@ static int process_input(int file_index) |
|
|
|
|
|
|
|
|
|
sub2video_heartbeat(ist, pkt.pts); |
|
|
|
|
|
|
|
|
|
ret = output_packet(ist, &pkt); |
|
|
|
|
ret = process_input_packet(ist, &pkt); |
|
|
|
|
if (ret < 0) { |
|
|
|
|
av_log(NULL, AV_LOG_ERROR, "Error while decoding stream #%d:%d: %s\n", |
|
|
|
|
ist->file_index, ist->st->index, av_err2str(ret)); |
|
|
|
@ -3687,7 +3687,7 @@ static int transcode(void) |
|
|
|
|
for (i = 0; i < nb_input_streams; i++) { |
|
|
|
|
ist = input_streams[i]; |
|
|
|
|
if (!input_files[ist->file_index]->eof_reached && ist->decoding_needed) { |
|
|
|
|
output_packet(ist, NULL); |
|
|
|
|
process_input_packet(ist, NULL); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
flush_encoders(); |
|
|
|
|