Serial-ATA / Serial-ATA/lofty-rs
FLAC: Support channel mask in Vorbis Comments
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 359
- Forks
- 77
- Avg merge
- 12h 54m
- Merged PRs (30d)
- 11
Description
Source: https://www.ietf.org/archive/id/draft-ietf-cellar-flac-14.html#name-channel-mask
Apparently there's a standardized Vorbis Comments field for the channel mask in FLAC spec now?
Is anyone using it? Probably not. Will it hurt to update the FlacProperties if we encounter it? Also probably not. Also in the case that this is being used, we don't want to overwrite it when writing/stripping tags.
The field is WAVEFORMATEXTENSIBLE_CHANNEL_MASK, which contains the hex-encoded channel mask.
From the spec:
Following are three examples:
- If a file has a single channel, being a LFE channel, the Vorbis comment field is WAVEFORMATEXTENSIBLE_CHANNEL_MASK=0x8.
- If a file has four channels, being front left, front right, top front left, and top front right, the Vorbis comment field is WAVEFORMATEXTENSIBLE_CHANNEL_MASK=0x5003.
- If an input has four channels, being back center, top front center, front center, and top rear center in that order, they have to be reordered to front center, back center, top front center and top rear center. The Vorbis comment field added is WAVEFORMATEXTENSIBLE_CHANNEL_MASK=0x12104.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with FlacProperties and the FLAC Vorbis Comments handling, using the linked FLAC specification to confirm the WAVEFORMATEXTENSIBLE_CHANNEL_MASK format. Done means the channel mask is recognized in FLAC properties and is preserved when writing or stripping tags; verify the behavior with the existing FLAC tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- audio-video-rtc
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100