diff options
Diffstat (limited to 'src/modules/macosx/module-coreaudio-device.c')
-rw-r--r-- | src/modules/macosx/module-coreaudio-device.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/modules/macosx/module-coreaudio-device.c b/src/modules/macosx/module-coreaudio-device.c index 47fd1e693..e2a533b26 100644 --- a/src/modules/macosx/module-coreaudio-device.c +++ b/src/modules/macosx/module-coreaudio-device.c @@ -274,9 +274,6 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse pa_assert(sink); if (PA_SINK_IS_OPENED(sink->pa_sink->thread_info.state)) { - if (sink->pa_sink->thread_info.rewind_requested) - pa_sink_process_rewind(sink->pa_sink, 0); - audio_chunk.memblock = pa_memblock_new_fixed(u->module->core->mempool, buf->mData, buf->mDataByteSize, FALSE); audio_chunk.length = buf->mDataByteSize; audio_chunk.index = 0; @@ -658,8 +655,14 @@ static void thread_func(void *userdata) { pa_thread_mq_install(&u->thread_mq); for (;;) { + coreaudio_sink *ca_sink; int ret; + PA_LLIST_FOREACH(ca_sink, u->sinks) { + if (ca_sink->pa_sink->thread_info.rewind_requested) + pa_sink_process_rewind(ca_sink->pa_sink, 0); + } + ret = pa_rtpoll_run(u->rtpoll, TRUE); if (ret < 0) |