]> code.delx.au - pulseaudio/commitdiff
esd,simple: use pa_memblockq_pop_missing()
authorLennart Poettering <lennart@poettering.net>
Mon, 22 Feb 2010 23:48:35 +0000 (00:48 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 23 Feb 2010 00:24:01 +0000 (01:24 +0100)
We need to use pa_memblockq_pop_missing() for all request handling,
including the initial request, because otherwise the counters will be
stay off during the entire runtime.

This should fix:

https://bugzilla.redhat.com/show_bug.cgi?id=559467

src/pulsecore/protocol-esound.c
src/pulsecore/protocol-simple.c

index be205c204ed2e02dbafe581b700914c69c3cca80..045c5c951e2840149f9be32896f19aaab59f5467 100644 (file)
@@ -462,7 +462,7 @@ static int esd_proto_stream_play(connection *c, esd_proto_t request, const void
 
     c->protocol->n_player++;
 
-    pa_atomic_store(&c->playback.missing, (int) pa_memblockq_missing(c->input_memblockq));
+    pa_atomic_store(&c->playback.missing, (int) pa_memblockq_pop_missing(c->input_memblockq));
 
     pa_sink_input_put(c->sink_input);
 
index fb2e5648c48db71e3589c7f6e0d713c9a4235825..77277e1349325158629708c1b1e9bd5d1517b5d1 100644 (file)
@@ -574,7 +574,7 @@ void pa_simple_protocol_connect(pa_simple_protocol *p, pa_iochannel *io, pa_simp
 
         pa_iochannel_socket_set_rcvbuf(io, l);
 
-        pa_atomic_store(&c->playback.missing, (int) pa_memblockq_missing(c->input_memblockq));
+        pa_atomic_store(&c->playback.missing, (int) pa_memblockq_pop_missing(c->input_memblockq));
 
         pa_sink_input_put(c->sink_input);
     }