[FFmpeg-devel] [PATCHv4] flac: ignore duplicated ID3 tags if vorbis tags exist

Michael Niedermayer michaelni at gmx.at
Fri Feb 6 23:26:16 CET 2015

On Fri, Feb 06, 2015 at 02:44:06AM -0300, James Almer wrote:
> On 06/02/15 12:57 AM, Ben Boeckel wrote:
> > +        if (s->error_recognition & AV_EF_COMPLIANT)
> > +            level = AV_LOG_ERROR;
> > +        av_log(s, level, "Spec-compliant FLAC do not support ID3 tags.\n");
> As i said back when i mentioned this flag to you (and Timothy just confirmed), if 
> AV_EF_COMPLIANT is set then it should also return AVERROR_INVALIDDATA and not just 
> show a warning/error.

AV_EF_COMPLIANTs "consider all spec non compliancies as errors" was
intended as means to detect bitstream errors to guide/trigger
error concealment.
That is in the sense of where to draw the line between which
odities are bitstream errors and should trigger concealment and which
are encoder odities and should be decoded as if they are intended by
the encoder to be that way.
Drawing this line at the wrong place can reduce the effectivity of
error concealment of damaged files as well as break decoding of
undamaged odd files at the other end.

Using the option to abort on non mp3 files with id3 tags would make
it difficult to use the option for its originally intended purpose
as it would always break decoding affected files

hard erroring out with no atempt to somehow recover should probably
only happen when AV_EF_EXPLODE is set unless its near certain that
continuing is not possible. (this may be the case for CRC errors in
critical headers)

Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The misfortune of the wise is better than the prosperity of the fool.
-- Epicurus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150206/c79a2231/attachment.asc>

More information about the ffmpeg-devel mailing list