diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-06-26 02:56:00 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-06-26 02:56:00 +0200 |
commit | eab1cb8df952bc302d14efd1640d96f8bbdb148a (patch) | |
tree | d3de307ecdaa284308e7d726153ffb6a10f012cc /src/modules/module-pipe-sink.c | |
parent | 1e36b57b13d421dab20c436e0ae302acc34fbac9 (diff) |
make sure to call process_rewind() under all circumstances before we do the next loop iteration
Diffstat (limited to 'src/modules/module-pipe-sink.c')
-rw-r--r-- | src/modules/module-pipe-sink.c | 8 |
1 files changed, 6 insertions, 2 deletions
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) |