Support 5.1 and other channel layouts
Closed this issue · 2 comments
This website explains the channel layout of 5.1 wav files: https://www.jensign.com/bdp95/7dot1voiced/index.html
It then links to a more detailed document from Microsoft about varying channel layout. (IE, how to disambiguate from 3.1 versus quad: https://learn.microsoft.com/en-us/previous-versions/windows/hardware/design/dn653308(v=vs.85)?redirectedfrom=MSDN
One important change needed in wave_stream is supporting channelMask
Converted the headers to handle WAVEFORMATEX. Currently refactoring so that reading/writing works with a SamplesByChannel struct that specifies the sample for each channel by speaker location instead of numerical index.
Writing is almost completed (just need to update tests.) Need to update reading.
Started updating the example: GWBasic/wave_stream_example#1
Changes needed:
- Need to test a proper 5.1 wav in Kodi
- Need to update sample code in lib.rs
- Need to publish a new revision to crates.io
- Need to update the sample