Move mutex initialization before ma_device_start()
(#3325)
This commit is contained in:
parent
5c9cc3f9f7
commit
4d2906b0a5
1 changed files with 10 additions and 10 deletions
20
src/raudio.c
20
src/raudio.c
|
@ -474,6 +474,16 @@ void InitAudioDevice(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Mixing happens on a separate thread which means we need to synchronize. I'm using a mutex here to make things simple, but may
|
||||||
|
// want to look at something a bit smarter later on to keep everything real-time, if that's necessary.
|
||||||
|
if (ma_mutex_init(&AUDIO.System.lock) != MA_SUCCESS)
|
||||||
|
{
|
||||||
|
TRACELOG(LOG_WARNING, "AUDIO: Failed to create mutex for mixing");
|
||||||
|
ma_device_uninit(&AUDIO.System.device);
|
||||||
|
ma_context_uninit(&AUDIO.System.context);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Keep the device running the whole time. May want to consider doing something a bit smarter and only have the device running
|
// Keep the device running the whole time. May want to consider doing something a bit smarter and only have the device running
|
||||||
// while there's at least one sound being played.
|
// while there's at least one sound being played.
|
||||||
result = ma_device_start(&AUDIO.System.device);
|
result = ma_device_start(&AUDIO.System.device);
|
||||||
|
@ -485,16 +495,6 @@ void InitAudioDevice(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mixing happens on a separate thread which means we need to synchronize. I'm using a mutex here to make things simple, but may
|
|
||||||
// want to look at something a bit smarter later on to keep everything real-time, if that's necessary.
|
|
||||||
if (ma_mutex_init(&AUDIO.System.lock) != MA_SUCCESS)
|
|
||||||
{
|
|
||||||
TRACELOG(LOG_WARNING, "AUDIO: Failed to create mutex for mixing");
|
|
||||||
ma_device_uninit(&AUDIO.System.device);
|
|
||||||
ma_context_uninit(&AUDIO.System.context);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
TRACELOG(LOG_INFO, "AUDIO: Device initialized successfully");
|
TRACELOG(LOG_INFO, "AUDIO: Device initialized successfully");
|
||||||
TRACELOG(LOG_INFO, " > Backend: miniaudio / %s", ma_get_backend_name(AUDIO.System.context.backend));
|
TRACELOG(LOG_INFO, " > Backend: miniaudio / %s", ma_get_backend_name(AUDIO.System.context.backend));
|
||||||
TRACELOG(LOG_INFO, " > Format: %s -> %s", ma_get_format_name(AUDIO.System.device.playback.format), ma_get_format_name(AUDIO.System.device.playback.internalFormat));
|
TRACELOG(LOG_INFO, " > Format: %s -> %s", ma_get_format_name(AUDIO.System.device.playback.format), ma_get_format_name(AUDIO.System.device.playback.internalFormat));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue