On 13.07.2017, at 14:10, "Geek.Song" <ffm...@gmail.com> wrote:
> On Wed, Jul 12, 2017 at 1:50 PM, Steven Liu <lingjiujia...@gmail.com> wrote: >> 2017-07-12 12:32 GMT+08:00 Geek.Song <ffm...@gmail.com>: >>> In ffmpeg.c: >>> // >>> // @ static int process_input_packet(InputStream *ist, const AVPacket >>> *pkt, int no_eof) >>> // >>> if (ret < 0) { >>> if (decode_failed) { >>> av_log(NULL, AV_LOG_ERROR, "Error while decoding >>> stream #%d:%d: %s\n", >>> ist->file_index, ist->st->index, av_err2str(ret)); >>> } else { >>> av_log(NULL, AV_LOG_FATAL, "Error while processing the >>> decoded " >>> "data for stream #%d:%d\n", ist->file_index, >>> ist->st->index); >>> } >>> if (!decode_failed || exit_on_error) >>> exit_program(1); >>> break; >>> } >>> >>> >>> why is: >>> if (!decode_failed || exit_on_error) >>> exit_program(1); >>> >>> I think it should be: >> If it should be :if (decode_failed || exit_on_error) >> maybe only if (exit_on_error) than that, isn't it? > > NO. > > They are not identical. Does that mean you know the answer to your question? Otherwise: decode errors are fairly normal (e.g. packet loss when streaming via UDP, corruption from satellite or aerial transmissions, scratches in media like DVD). The "solution" to them is to ignore them. The other errors are fatal, because they "should never happen", will probably just happen again if we ignore them and the code wouldn't know know what to do about them. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel