|
|
|
@@ -2147,6 +2147,8 @@ static int output_packet(InputStream *ist, const AVPacket *pkt) |
|
|
|
if (!got_output) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
if (got_output && !pkt) |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
/* handle stream copy */ |
|
|
|
@@ -2185,7 +2187,7 @@ static int output_packet(InputStream *ist, const AVPacket *pkt) |
|
|
|
do_streamcopy(ist, ost, pkt); |
|
|
|
} |
|
|
|
|
|
|
|
return 0; |
|
|
|
return got_output; |
|
|
|
} |
|
|
|
|
|
|
|
static void print_sdp(void) |
|
|
|
@@ -3315,12 +3317,14 @@ static int process_input(int file_index) |
|
|
|
if (exit_on_error) |
|
|
|
exit_program(1); |
|
|
|
} |
|
|
|
ifile->eof_reached = 1; |
|
|
|
|
|
|
|
for (i = 0; i < ifile->nb_streams; i++) { |
|
|
|
ist = input_streams[ifile->ist_index + i]; |
|
|
|
if (ist->decoding_needed) |
|
|
|
output_packet(ist, NULL); |
|
|
|
if (ist->decoding_needed) { |
|
|
|
ret = output_packet(ist, NULL); |
|
|
|
if (ret>0) |
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
/* mark all outputs that don't go through lavfi as finished */ |
|
|
|
for (j = 0; j < nb_output_streams; j++) { |
|
|
|
@@ -3332,6 +3336,7 @@ static int process_input(int file_index) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
ifile->eof_reached = 1; |
|
|
|
return AVERROR(EAGAIN); |
|
|
|
} |
|
|
|
|
|
|
|
|