summaryrefslogtreecommitdiffstats
path: root/src/modules/module-pipe-sink.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-06-26 02:56:00 +0200
committerLennart Poettering <lennart@poettering.net>2008-06-26 02:56:00 +0200
commiteab1cb8df952bc302d14efd1640d96f8bbdb148a (patch)
treed3de307ecdaa284308e7d726153ffb6a10f012cc /src/modules/module-pipe-sink.c
parent1e36b57b13d421dab20c436e0ae302acc34fbac9 (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.c8
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)