From f5d3606fe76302c7dbdb0f6a80400df829a5f846 Mon Sep 17 00:00:00 2001 From: Tanu Kaskinen Date: Sun, 5 Jan 2020 09:31:07 +0200 Subject: [PATCH] virtual-surround-sink: Use correct sample spec with memblockq The memblockq stores data in the virtual sink format, not in the master sink format. The wrong sample spec caused a crash when the virtual sink rendered data whose length was not divisible by the sink input frame size. Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/786 --- src/modules/module-virtual-surround-sink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/module-virtual-surround-sink.c b/src/modules/module-virtual-surround-sink.c index d8e0fd94c..c32107388 100644 --- a/src/modules/module-virtual-surround-sink.c +++ b/src/modules/module-virtual-surround-sink.c @@ -786,7 +786,7 @@ int pa__init(pa_module*m) { u->sink->input_to_master = u->sink_input; pa_sink_input_get_silence(u->sink_input, &silence); - u->memblockq = pa_memblockq_new("module-virtual-surround-sink memblockq", 0, MEMBLOCKQ_MAXLENGTH, 0, &sink_input_ss, 1, 1, 0, &silence); + u->memblockq = pa_memblockq_new("module-virtual-surround-sink memblockq", 0, MEMBLOCKQ_MAXLENGTH, 0, &ss, 1, 1, 0, &silence); pa_memblock_unref(silence.memblock); /* resample hrir */