libretro-mirrors / libretro-arb

For proposed improvements to libretro API.
8 stars 2 forks source link

Multichannel audio #13

Open mprobinson opened 9 years ago

mprobinson commented 9 years ago

Libretro currently assumes stereo audio. If we're serious about libretro being used for media players we need surround sound support. The highest number of channels in common use appears to be 8 (7.1 surround), which is common in modern Bluray releases. Ambisonics requires 9 channels for 2nd order and 16 channels for third order, which appears to be the highest order in practical use. The highest number of channels in use outside one-off installations I'm aware of is 24 (22.2, UHDTV audio). Some mechanism for the core to inform frontends of channel:speaker position mapping might also be useful.

Supporting a maximum of 32 channels would cover all practical current use cases and allow for future expansion, as well as being a power of two.

Alcaro commented 9 years ago

I don't see why we'd need a limit at all, at least not on the libretro layer; the most obvious implementations I can think of are limited only by available memory. I'll have to go considerably out of my way to limit it to anything except 2^32-1 or available memory.

Either way, this sounds like it can be done in a purely additive way, so I vote wait until libretro v2 is done.