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

Reply via email to