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
This commit is contained in:
Tanu Kaskinen 2020-01-05 09:31:07 +02:00
parent a71136be52
commit f5d3606fe7

View file

@ -786,7 +786,7 @@ int pa__init(pa_module*m) {
u->sink->input_to_master = u->sink_input; u->sink->input_to_master = u->sink_input;
pa_sink_input_get_silence(u->sink_input, &silence); 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); pa_memblock_unref(silence.memblock);
/* resample hrir */ /* resample hrir */