[FFmpeg-devel] [PATCHv2] flac: ignore IDv3 tags if vorbis tags exist
mathstuf at gmail.com
Tue Feb 3 03:04:55 CET 2015
On Tue, 03 Feb, 2015 at 01:37:05 GMT, James Almer wrote:
> On 02/02/15 10:02 PM, Lou Logan wrote:
>> I wonder what the percentage is of flacs with only ID3 or whatever, only
>> Vorbis comment, or a mix. I have no idea.
Seeing as EAC adds IDv3 to the files it creates, I'd not be surprised if
it isn't an unsubstantial amount :( . Personally, I scrub all FLAC files
of IDv3 tags without remorse with Picard, but I wonder if files from
BandCamp, Humble Bundle, OCRemix, and Game Music Bundle have both (at
least those are my typical sources for FLAC files other than
cdparanoia). Anyone have any unedited files from those sources handy?
> 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.
Only if they were manually edited afterwards. FWIW, the tag editor I
use, kid3, doesn't even *recognize* IDv3 tags in FLAC files. I don't
have experience with other tag editors (well, Picard, but I don't use it
for editing so much as just populating tags).
> 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,
The problem is that vorbis is going to merge the tags together then.
Merging tags, in the general case, is a good thing since Picard will
write out a tag per performer, etc., not a merged list and dropping
all-but-the-last isn't good either. Since IDv3 isn't technically
supported in FLAC, I'd rather drop them than skip the vorbis tags.
More information about the ffmpeg-devel