]> code.delx.au - pulseaudio/commitdiff
echo-cancel: Fix send/recv_counter in calc_diff()
authorPeter Meerwald <p.meerwald@bct-electronic.com>
Mon, 22 Apr 2013 13:36:12 +0000 (15:36 +0200)
committerArun Raghavan <arun.raghavan@collabora.co.uk>
Mon, 13 May 2013 05:02:25 +0000 (10:32 +0530)
send_counter/recv_counter relate to the bytes (play stream) passed
through the queue, hence the same sample spec must be used

Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Acked-by: Stefan Huber <shuber@sthu.org>
src/modules/echo-cancel/module-echo-cancel.c

index b77dffda19fb92f5adec51706b65a7901e7ea891..b45a40ce7ec5114e8f5bb3b2572bee21e11b5f62 100644 (file)
@@ -312,8 +312,8 @@ static int64_t calc_diff(struct userdata *u, struct snapshot *snapshot) {
     buffer_latency += source_delay + sink_delay;
 
     /* add the latency difference due to samples not yet transferred */
-    send_counter = pa_bytes_to_usec(snapshot->send_counter, &u->sink_input->sample_spec);
-    recv_counter = pa_bytes_to_usec(snapshot->recv_counter, &u->source_output->sample_spec);
+    send_counter = pa_bytes_to_usec(snapshot->send_counter, &u->sink->sample_spec);
+    recv_counter = pa_bytes_to_usec(snapshot->recv_counter, &u->sink->sample_spec);
     if (recv_counter <= send_counter)
         buffer_latency += (int64_t) (send_counter - recv_counter);
     else