diff options
| author | David Reid <[email protected]> | 2017-11-24 22:13:33 +1000 |
|---|---|---|
| committer | David Reid <[email protected]> | 2017-11-24 22:13:33 +1000 |
| commit | a0d9913c7cf2dce11f8d45e38923c69eae5d6f5e (patch) | |
| tree | 184bd8ae68898330320b954488b18c5843efaf87 /src/audio.c | |
| parent | 5463e14886456e362594250d9d5aa548a462eb20 (diff) | |
| download | raylib-a0d9913c7cf2dce11f8d45e38923c69eae5d6f5e.tar.gz raylib-a0d9913c7cf2dce11f8d45e38923c69eae5d6f5e.zip | |
Potential fixes for audio on RPI and Emscripten builds.
Diffstat (limited to 'src/audio.c')
| -rw-r--r-- | src/audio.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/audio.c b/src/audio.c index 1e8d09e7..497deaf8 100644 --- a/src/audio.c +++ b/src/audio.c @@ -393,14 +393,23 @@ void InitAudioDevice(void) mal_result result = mal_context_init(NULL, 0, &contextConfig, &context); if (result != MAL_SUCCESS) { + TraceLog(LOG_ERROR, "Failed to initialize audio context"); return; } // Device. Using the default device. Format is floating point because it simplifies mixing. mal_device_config deviceConfig = mal_device_config_init(DEVICE_FORMAT, DEVICE_CHANNELS, DEVICE_SAMPLE_RATE, NULL, OnSendAudioDataToDevice); + + // Special case for PLATFORM_RPI. +#if defined(PLATFORM_RPI) + deviceConfig.alsa.noMMap = MAL_TRUE; + deviceConfig.bufferSizeInFrames = 2048; +#endif + result = mal_device_init(&context, mal_device_type_playback, NULL, &deviceConfig, NULL, &device); if (result != MAL_SUCCESS) { + TraceLog(LOG_ERROR, "Failed to initialize audio playback device"); mal_context_uninit(&context); return; } @@ -410,6 +419,7 @@ void InitAudioDevice(void) result = mal_device_start(&device); if (result != MAL_SUCCESS) { + TraceLog(LOG_ERROR, "Failed to start audio playback device"); mal_device_uninit(&device); mal_context_uninit(&context); return; |
