13
0

coreaudio backend: switch threads early

This commit is contained in:
Robin Gareus 2015-03-11 00:27:14 +01:00
parent fe85575a12
commit c3d7654884

View File

@ -1558,6 +1558,12 @@ CoreAudioBackend::process_callback (const uint32_t n_samples, const uint64_t hos
return 1;
}
if (_reinit_thread_callback || _main_thread != pthread_self()) {
_reinit_thread_callback = false;
_main_thread = pthread_self();
AudioEngine::thread_init_callback (this);
}
if (pthread_mutex_trylock (&_process_callback_mutex)) {
// block while devices are added/removed
#ifndef NDEBUG
@ -1566,13 +1572,6 @@ CoreAudioBackend::process_callback (const uint32_t n_samples, const uint64_t hos
engine.Xrun();
return 1;
}
if (_reinit_thread_callback || _main_thread != pthread_self()) {
_reinit_thread_callback = false;
_main_thread = pthread_self();
AudioEngine::thread_init_callback (this);
}
/* port-connection change */
pre_process();