make audio safer

- centralized stop function
- freeing the struct not from the thread while waiting on handle in it
- thread not detached
- maybe fixes hang on exit from HM in ndsp status check loop
This commit is contained in:
LiquidFenrir
2022-06-14 12:54:02 +02:00
parent 9ebfe387a0
commit 4a56a883fa
5 changed files with 26 additions and 30 deletions

View File

@@ -569,9 +569,7 @@ bool themeplaza_browser(EntryMode mode)
preview_mode = false;
if (mode == MODE_THEMES && audio != NULL)
{
audio->stop = true;
svcWaitSynchronization(audio->finished, U64_MAX);
audio = NULL;
stop_audio(&audio);
}
}
}
@@ -582,9 +580,7 @@ bool themeplaza_browser(EntryMode mode)
preview_mode = false;
if (mode == MODE_THEMES && audio != NULL)
{
audio->stop = true;
svcWaitSynchronization(audio->finished, U64_MAX);
audio = NULL;
stop_audio(&audio);
}
}
else
@@ -650,9 +646,7 @@ bool themeplaza_browser(EntryMode mode)
preview_mode = false;
if (mode == MODE_THEMES && audio)
{
audio->stop = true;
svcWaitSynchronization(audio->finished, U64_MAX);
audio = NULL;
stop_audio(&audio);
}
continue;
}
@@ -721,9 +715,7 @@ bool themeplaza_browser(EntryMode mode)
if (audio)
{
audio->stop = true;
svcWaitSynchronization(audio->finished, U64_MAX);
audio = NULL;
stop_audio(&audio);
}
free_preview(preview);