summaryrefslogtreecommitdiff
path: root/render_sdl.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2020-05-12 19:22:09 -0700
committerMichael Pavone <pavone@retrodev.com>2020-05-12 19:22:09 -0700
commitbcab7a0e684615ed01fc1db1745fbd1f2bc3dc27 (patch)
tree963c0a6eef4fcc8888daf3102d6bd67a423f3452 /render_sdl.c
parente54367b1c456fdbafe40838c8c602cf14d1bbc1b (diff)
Go back to unpausing audio in render_video_loop to ensure the core is no longer running on the main thread when audio callbacks start when using run on audio thread mode
Diffstat (limited to 'render_sdl.c')
-rwxr-xr-xrender_sdl.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/render_sdl.c b/render_sdl.c
index 9f76cd2..9e2c9ae 100755
--- a/render_sdl.c
+++ b/render_sdl.c
@@ -171,7 +171,7 @@ void render_free_audio_opaque(void *opaque)
void render_audio_created(audio_source *source)
{
- if (render_is_audio_sync()) {
+ if (sync_src == SYNC_AUDIO) {
SDL_PauseAudio(0);
}
if (current_system && sync_src == SYNC_AUDIO_THREAD) {
@@ -194,7 +194,7 @@ void render_source_paused(audio_source *src, uint8_t remaining_sources)
void render_source_resumed(audio_source *src)
{
- if (render_is_audio_sync()) {
+ if (sync_src == SYNC_AUDIO) {
SDL_PauseAudio(0);
}
if (current_system && sync_src == SYNC_AUDIO_THREAD) {
@@ -1706,6 +1706,7 @@ void render_video_loop(void)
if (sync_src != SYNC_AUDIO_THREAD && sync_src != SYNC_EXTERNAL) {
return;
}
+ SDL_PauseAudio(0);
SDL_LockMutex(frame_mutex);
for(;;)
{