Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add AC3 file type #400

Merged
merged 8 commits into from Nov 17, 2019
Merged

Add AC3 file type #400

merged 8 commits into from Nov 17, 2019

Conversation

@phw
Copy link
Contributor

phw commented Oct 11, 2019

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

@phw phw mentioned this pull request Oct 11, 2019
1 of 5 tasks complete
@phw phw force-pushed the phw:feature/ac3 branch 2 times, most recently from 7a0b90a to 5a9b85f Oct 11, 2019
@phw

This comment has been minimized.

Copy link
Contributor Author

phw commented Oct 11, 2019

CI tests failing looks to me like a general issue with CI for some Python versions right now.

Docs should be added for AC3 API, will do so later.

@lazka

This comment has been minimized.

Copy link
Member

lazka commented Oct 14, 2019

Thanks. I'll have a look later.

CI tests failing looks to me like a general issue with CI for some Python versions right now.

Should be fixed in master.

@phw phw force-pushed the phw:feature/ac3 branch from 13c2378 to d94e573 Oct 14, 2019
@phw

This comment has been minimized.

Copy link
Contributor Author

phw commented Oct 14, 2019

@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.

@phw phw force-pushed the phw:feature/ac3 branch from d94e573 to 4d7401d Oct 15, 2019
Copy link
Member

lazka left a comment

Thanks!

mutagen/ac3.py Outdated Show resolved Hide resolved
mutagen/ac3.py Show resolved Hide resolved
mutagen/ac3.py Outdated Show resolved Hide resolved
mutagen/ac3.py Outdated Show resolved Hide resolved
mutagen/ac3.py Outdated Show resolved Hide resolved
@phw phw force-pushed the phw:feature/ac3 branch from 4d7401d to e6cc54d Oct 17, 2019
@phw

This comment has been minimized.

Copy link
Contributor Author

phw commented Oct 17, 2019

@lazka Thanks a lot for the review. I addressed your comments.

@phw phw force-pushed the phw:feature/ac3 branch from d3a0387 to df8a2a6 Oct 18, 2019
@phw phw force-pushed the phw:feature/ac3 branch from df8a2a6 to 67d5dec Nov 15, 2019
@phw

This comment has been minimized.

Copy link
Contributor Author

phw commented Nov 15, 2019

Rebased against master, fixed merge conflicts

@lazka lazka merged commit 1c668ac into quodlibet:master Nov 17, 2019
2 checks passed
2 checks passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
quodlibet.mutagen #20191115.2 succeeded
Details
@phw phw deleted the phw:feature/ac3 branch Jan 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.