roc-streaming / roc-toolkit

Real-time audio streaming over the network.
https://roc-streaming.org
Mozilla Public License 2.0
1.02k stars 203 forks source link

libsndfile surround support #693

Open gavv opened 4 months ago

gavv commented 4 months ago

Issue to track channel orders and masks of formats supported by libsndfile.

https://libsndfile.github.io/libsndfile/api.html

Columns:

Format Order Mask Link CHANNEL_MAP_INFO
SF_FORMAT_WAV
SF_FORMAT_WAVEX static dynamic doc yes
SF_FORMAT_AIFF dynamic dynamic doc yes
SF_FORMAT_AU
SF_FORMAT_RAW
SF_FORMAT_PAF
SF_FORMAT_SVX
SF_FORMAT_NIST
SF_FORMAT_VOC
SF_FORMAT_IRCAM
SF_FORMAT_W64
SF_FORMAT_MAT4
SF_FORMAT_MAT5
SF_FORMAT_PVF
SF_FORMAT_XI
SF_FORMAT_HTK
SF_FORMAT_SDS
SF_FORMAT_AVR
SF_FORMAT_SD2
SF_FORMAT_FLAC static static doc no
SF_FORMAT_CAF dynamic dynamic doc yes
SF_FORMAT_WVE
SF_FORMAT_OGG / OPUS static static doc no
SF_FORMAT_OGG / PCM static static doc no
SF_FORMAT_OGG / SPEEX
SF_FORMAT_OGG / VORBIS static static doc no
SF_FORMAT_MPC2K
SF_FORMAT_RF64 static dynamic yes
SF_FORMAT_MPEG
gavv commented 4 months ago

libsndfile has SFC_GET_CHANNEL_MAP_INFO and SFC_SET_CHANNEL_MAP_INFO, to get/set array of enabled channels, in order as they're packed.

The question is whether these commands are available for all formats.

I'll add a column for its availability to the table.

gavv commented 2 months ago

http://www-cs-students.stanford.edu/~franke/SoundApp/formats.html

gavv commented 2 months ago

http://forum.cakewalk.com/All-those-WAV-options-when-exporting-m3384702.aspx

gavv commented 2 months ago

I've updated the table.

Conclusions: