Added support for ALSA dmix audio output (thanks @sylware!)

Fixes https://github.com/libsdl-org/SDL/issues/8577
This commit is contained in:
Sam Lantinga authored and Ryan C. Gordon committed 2024-12-16 12:19:48 -05:00
1 parent 3fa0537565
commit 76e7bc4c04
2 files changed
+1197 -408

No files matched your search

File diff suppressed because it is too large. Load diff
+6 -1
View File
@@ -27,16 +27,21 @@
#include "../SDL_sysaudio.h"
#define SDL_AUDIO_ALSA__CHMAP_CHANS_N_MAX 8
#define SDL_AUDIO_ALSA__SDL_CHMAPS_N 9 // from 0 channels to 8 channels
struct SDL_PrivateAudioData
{
// The audio device handle
snd_pcm_t *pcm_handle;
snd_pcm_t *pcm;
// Raw mixing buffer
Uint8 *mixbuf;
// swizzle function
void (*swizzle_func)(SDL_AudioDevice *_this, void *buffer, Uint32 bufferlen);
// Up to a channel map of 8 channels, will define the sample indexes into the alsa frame
// from a sdl sample index.
int swizzle_map[SDL_AUDIO_ALSA__CHMAP_CHANS_N_MAX];
};
#endif // SDL_ALSA_audio_h_