audio: Implement a SDL2 backend (#2258)

* audio: Implement a SDL2 backend

This adds support to SDL2 as an audio backend.
It has the same compatibility level as OpenAL without its issues.

I also took the liberty of restructuring the SDL2 code to have one
shared project between audio and input.

The configuration version was also incremented.

* Address gdkchan's comments

* Fix update logic

* Add an heuristic to pick the correct target sample count wanted by the game

* Address gdkchan's comments

* Address Ac_k's comments

* Fix audren output

* Address gdkchan's comments
This commit is contained in:
Mary 2021-05-05 23:37:09 +02:00 committed by GitHub
parent 106512229e
commit eb056218a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 511 additions and 14 deletions

View file

@ -0,0 +1,16 @@
namespace Ryujinx.Audio.Backends.SDL2
{
class SDL2AudioBuffer
{
public readonly ulong DriverIdentifier;
public readonly ulong SampleCount;
public ulong SamplePlayed;
public SDL2AudioBuffer(ulong driverIdentifier, ulong sampleCount)
{
DriverIdentifier = driverIdentifier;
SampleCount = sampleCount;
SamplePlayed = 0;
}
}
}