stream: do not call process if the queue is not empty enough

This commit is contained in:
Wim Taymans 2019-12-03 17:48:44 +02:00 committed by George Kiagiadakis
parent 125fcb5660
commit 279e6706b2

View file

@ -775,10 +775,12 @@ again:
} }
} }
if (!impl->draining && !SPA_FLAG_IS_SET(impl->flags, PW_STREAM_FLAG_DRIVER)) { if (!impl->draining &&
!SPA_FLAG_IS_SET(impl->flags, PW_STREAM_FLAG_DRIVER) &&
io->status == SPA_STATUS_NEED_DATA &&
spa_ringbuffer_get_read_index(&impl->queued.ring, &index) < MIN_QUEUED) {
call_process(impl); call_process(impl);
if (spa_ringbuffer_get_read_index(&impl->queued.ring, &index) >= MIN_QUEUED && if (spa_ringbuffer_get_read_index(&impl->queued.ring, &index) >= MIN_QUEUED)
io->status == SPA_STATUS_NEED_DATA)
goto again; goto again;
} }
exit: exit: