[FFmpeg-user] Question about FFmpeg output stream codec copy

Ximing Cheng chengximing1989 at gmail.com
Mon Nov 14 16:10:47 EET 2016


Hi:

I have debugged FFmpeg program and I find that in
static int process_input(int file_index) function,
if get_input_packet return a none EAGAIN error, and at the same time the
output stream is in copy mode, finish_output_stream function is called.

This will lead the the stream in copy mode flag set to:

ost->finished = ENCODER_FINISHED | MUXER_FINISHED;

and will cause function process_input_packet failed in calling
check_output_constraints in the next reading retry, so do_streamcopy has
not be called by process_input_packet, and that will cause data loss in the
output file.

I am confused about the data loss, so why does the get_input_packet
function mark the stream copy stream flag finished when encounter a none
EAGAIN error?

Thanks!


More information about the ffmpeg-user mailing list