make sure to call process_rewind() under all circumstances before we do the next loop iteration

This commit is contained in:
Lennart Poettering 2008-06-26 02:56:00 +02:00
parent 1e36b57b13
commit eab1cb8df9
10 changed files with 69 additions and 39 deletions

View file

@ -184,8 +184,12 @@ static void thread_func(void *userdata) {
/* Render some data and write it to the fifo */
if (u->sink->thread_info.state == PA_SINK_RUNNING) {
if (u->sink->thread_info.rewind_nbytes > 0)
process_rewind(u);
if (u->sink->thread_info.rewind_requested) {
if (u->sink->thread_info.rewind_nbytes > 0)
process_rewind(u);
else
pa_sink_process_rewind(u->sink, 0);
}
if (pollfd->revents) {
if (process_render(u) < 0)