From a0f4ffd3e12c0274ca05a577d03914270370b724 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 2 Oct 2008 03:07:54 +0200 Subject: make sure we call pa_sink_process_rewind() if a rewind was requested under all circumstances --- src/modules/module-null-sink.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/modules/module-null-sink.c b/src/modules/module-null-sink.c index 9162960f..470c622e 100644 --- a/src/modules/module-null-sink.c +++ b/src/modules/module-null-sink.c @@ -137,13 +137,13 @@ static void process_rewind(struct userdata *u, pa_usec_t now) { pa_log_debug("Requested to rewind %lu bytes.", (unsigned long) rewind_nbytes); if (u->timestamp <= now) - return; + goto do_nothing; delay = u->timestamp - now; in_buffer = pa_usec_to_bytes(delay, &u->sink->sample_spec); if (in_buffer <= 0) - return; + goto do_nothing; if (rewind_nbytes > in_buffer) rewind_nbytes = in_buffer; @@ -152,6 +152,11 @@ static void process_rewind(struct userdata *u, pa_usec_t now) { u->timestamp -= pa_bytes_to_usec(rewind_nbytes, &u->sink->sample_spec); pa_log_debug("Rewound %lu bytes.", (unsigned long) rewind_nbytes); + return; + +do_nothing: + + pa_sink_process_rewind(u->sink, 0); } static void process_render(struct userdata *u, pa_usec_t now) { -- cgit