* haydn: Add support for PCMFloat, PCM32 and PCM8 conversions
This adds support in the compatibility layer for other sample format
than PCM16.
This should help extends compatibility with soundio on devices that
doesn't expose PCM16.
I ommited PCM24 conversion for now as it's not simplest of all.
* Address TSRBerry's comment
* Address comments
* Fix conversion issue and clean up saturation usage
* Revert saturation changes
* Address gdkchan's comment
This is the first commit of a series of reformat around the codebase as
discussed internally some weeks ago.
This project being one that isn't touched that much, it shouldn't cause
conflict with any opened PRs.
* Ryujinx.Audio: Remove BOM from files
* misc: Relicense Ryujinx.Audio under the terms of the MIT license
With the approvals of all the Ryujinx.Audio contributors, this commit
changes Ryujinx.Audio license from LGPLv3 to MIT.
* Haydn: Part 1
Based on my reverse of audio 11.0.0.
As always, core implementation under LGPLv3 for the same reasons as for Amadeus.
This place the bases of a more flexible audio system while making audout & audin accurate.
This have the following improvements:
- Complete reimplementation of audout and audin.
- Audin currently only have a dummy backend.
- Dramatically reduce CPU usage by up to 50% in common cases (SoundIO and OpenAL).
- Audio Renderer now can output to 5.1 devices when supported.
- Audio Renderer init its backend on demand instead of keeping two up all the time.
- All backends implementation are now in their own project.
- Ryujinx.Audio.Renderer was renamed Ryujinx.Audio and was refactored because of this.
As a note, games having issues with OpenAL haven't improved and will not
because of OpenAL design (stopping when buffers finish playing causing
possible audio "pops" when buffers are very small).
* Update for latest hexkyz's edits on Switchbrew
* audren: Rollback channel configuration changes
* Address gdkchan's comments
* Fix typo in OpenAL backend driver
* Address last comments
* Fix a nit
* Address gdkchan's comments