From eab1cb8df952bc302d14efd1640d96f8bbdb148a Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 26 Jun 2008 02:56:00 +0200 Subject: make sure to call process_rewind() under all circumstances before we do the next loop iteration --- src/modules/module-pipe-sink.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/modules/module-pipe-sink.c') diff --git a/src/modules/module-pipe-sink.c b/src/modules/module-pipe-sink.c index cd25b890..0999935b 100644 --- a/src/modules/module-pipe-sink.c +++ b/src/modules/module-pipe-sink.c @@ -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) -- cgit