Increase audio thread priority

The audio demuxer thread is the one filling the audio buffer read by the
SDL audio thread. It is time critical to avoid buffer underflow.
This commit is contained in:
Romain Vimont 2023-03-08 21:37:27 +01:00
parent 5ee59e0f13
commit aa450ffc3f

View file

@ -382,6 +382,14 @@ sc_audio_player_frame_sink_open(struct sc_frame_sink *sink,
ap->received = false; ap->received = false;
ap->played = false; ap->played = false;
// The thread calling open() is the thread calling push(), which fills the
// audio buffer consumed by the SDL audio thread.
ok = sc_thread_set_priority(SC_THREAD_PRIORITY_TIME_CRITICAL);
if (!ok) {
ok = sc_thread_set_priority(SC_THREAD_PRIORITY_HIGH);
(void) ok; // We don't care if it worked, at least we tried
}
SDL_PauseAudioDevice(ap->device, 0); SDL_PauseAudioDevice(ap->device, 0);
return true; return true;