summaryrefslogtreecommitdiffstats
path: root/src/modules/module-raop-sink.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/module-raop-sink.c')
-rw-r--r--src/modules/module-raop-sink.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/modules/module-raop-sink.c b/src/modules/module-raop-sink.c
index 0a7ce171..3d0eaeff 100644
--- a/src/modules/module-raop-sink.c
+++ b/src/modules/module-raop-sink.c
@@ -226,7 +226,7 @@ static void thread_func(void *userdata) {
/* Encode it */
size_t rl = u->raw_memchunk.length;
u->encoding_overhead += u->next_encoding_overhead;
- u->encoded_memchunk = pa_raop_client_encode_sample(u->raop, &u->raw_memchunk);
+ pa_raop_client_encode_sample(u->raop, &u->raw_memchunk, &u->encoded_memchunk);
u->next_encoding_overhead = (u->encoded_memchunk.length - (rl - u->raw_memchunk.length));
u->encoding_ratio = u->encoded_memchunk.length / (rl - u->raw_memchunk.length);
}
@@ -482,6 +482,9 @@ void pa__done(pa_module*m) {
if (u->raw_memchunk.memblock)
pa_memblock_unref(u->raw_memchunk.memblock);
+ if (u->encoded_memchunk.memblock)
+ pa_memblock_unref(u->encoded_memchunk.memblock);
+
if (u->raop)
pa_raop_client_free(u->raop);