Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Add AC3 file type #400
This adds support for reading "raw" AC3 / EAC3 files as sometimes found in the wild.
This adds support for reading technical metadata (channels, bitrate, sample_rate, length) only. A AC3 file not embedded in a proper container does not support tags by itself, although some tools have support for writing and reading APEv2 tags for AC3 files (MusicBee, foobar2000 with foo_ac3 plugin). But if needed this could be handled by implementations using Mutagen.
See also discussion at metabrainz/picard#1306
@lazka Thanks for fixing the CI, I rebased my branch.
If you review this have a look at 56485ee . The entire purpose of this is to skip over the header to improve the length calculation. You might get the duration by one or even a couple of microseconds more accurate this way. But I wonder if it is worth the effort.
For now I even skipped parts of the EAC3 header reading (channel depending mixing information), because this was getting really complex and most files probably don't have this set anyway.