[pulseaudio-discuss] [PATCH 2/2] module-equalizer-sink: remove erroneous fixme

Jason Newton nevion at gmail.com
Fri Dec 5 00:38:31 PST 2014

pa_memblockq_drop is guaranteed to drop the chunk we just extracted from the
memblockq which internally unrefs the chunk.
I checked just after pa_memblockq_peek and before pa_memblockq_drop calls with the following code:
    pa_log("chunk memblock %p refs: %d ours: %d ro: %d silence: %d",
        pa_atomic_load((pa_atomic_t *) chunk->memblock),
The refcnt was 2 at this point consistently and I set a watch point on the refcnt internal to the memblock
and noticed pa_memblockq_drop modifies this to 1.  This makes sense since we are telling the memblock to drop
the entire memblock (in bytes).

 src/modules/module-equalizer-sink.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/modules/module-equalizer-sink.c b/src/modules/module-equalizer-sink.c
index 3acca71..d6cc3aa 100644
--- a/src/modules/module-equalizer-sink.c
+++ b/src/modules/module-equalizer-sink.c
@@ -674,8 +674,6 @@ END:
     pa_memblockq_drop(u->output_q, chunk->length);
-    /** FIXME: Uh? you need to unref the chunk here! */
     //pa_log_debug("gave %ld", chunk->length/fs);
     //pa_log_debug("end pop");
     return 0;

More information about the pulseaudio-discuss mailing list