[FFmpeg-devel] [PATCHv2] flac: ignore IDv3 tags if vorbis tags exist

James Almer jamrial at gmail.com
Tue Feb 3 02:37:05 CET 2015

On 02/02/15 10:02 PM, Lou Logan wrote:
> On Mon, Feb 2, 2015, at 03:40 PM, Reimar Döffinger wrote:
>> Yes, and?
>> Point one: ID3 won, it is generally supported. Insisting on something
>> else IMHO is just being a pain on the user for little reason and nothing
>> we should strive to emulate.
> I simply don't want to see ffmpeg output files that are broken when the
> "specs" are fairly straigtforward, and I don't want to make things
> harder for users. I never said I wanted the ID3 to be ignored.

This is about the demuxer, not muxer. We're not creating files that violate the spec if 
that's what you worry about.

> I think that if non-Vorbis comments exist, and Vorbis comments are
> missing, then converting them to Vorbis comment would be the best
> solution. If both exist then ignore the non-Vorbis comments. I admit I
> don't know how challenging that may or may not be.
> Either way, I like the idea of a warning or info informing the user
> whatever we do.
>> Point two: If despite that warning a ID3 tag exists, it seems sensible to
>> assume it does so for a good reason and shouldn't be ignored.
> The "good reason" being a crappy tagger?
> I wonder what the percentage is of flacs with only ID3 or whatever, only
> Vorbis comment, or a mix. I have no idea.

The whole discussion is, when demuxing, do we follow the spec and skip IDv3 completely, 
do we skip them if spec-complaint Vorbis tags exist, or do we not skip them at all?
Reimar wants the latter, since if they exist it's because whatever application last 
wrote that file added them because it didn't care about the spec. They are likely to 
contain up-to-date metadata.

Personally I'd say lets not skip them if they exist unless AV_EF_COMPLIANT was requested, 
in which case we can either skip it or abort the entire demuxing process depending if 
AV_EF_EXPLODE was requested or not as well. Similar to what we do with crc checks.
At least one warning should be issued regardless of what the flags were set by the user, 

More information about the ffmpeg-devel mailing list