From 345547853bcb0825c0afb5b2528a8f1d5339a8ea Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 8 Jan 2010 21:51:30 +0100 Subject: core: make sure we always return a valid memblock in sink_input_pop() callbacks https://bugzilla.redhat.com/show_bug.cgi?id=553607 --- src/modules/module-combine.c | 2 +- src/modules/module-ladspa-sink.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/modules') diff --git a/src/modules/module-combine.c b/src/modules/module-combine.c index a186c899..62e62679 100644 --- a/src/modules/module-combine.c +++ b/src/modules/module-combine.c @@ -890,7 +890,7 @@ static struct output *output_new(struct userdata *u, pa_sink *sink) { 1, 0, 0, - NULL); + &u->sink->silence); pa_assert_se(pa_idxset_put(u->outputs, o, NULL) == 0); update_description(u); diff --git a/src/modules/module-ladspa-sink.c b/src/modules/module-ladspa-sink.c index 994c778f..185871be 100644 --- a/src/modules/module-ladspa-sink.c +++ b/src/modules/module-ladspa-sink.c @@ -476,6 +476,7 @@ int pa__init(pa_module*m) { unsigned long input_port, output_port, p, j, n_control; unsigned c; pa_bool_t *use_default = NULL; + pa_memchunk silence; pa_assert(m); @@ -514,7 +515,10 @@ int pa__init(pa_module*m) { u = pa_xnew0(struct userdata, 1); u->module = m; m->userdata = u; - u->memblockq = pa_memblockq_new(0, MEMBLOCKQ_MAXLENGTH, 0, pa_frame_size(&ss), 1, 1, 0, NULL); + + pa_silence_memchunk_get(&m->core->silence_cache, m->core->mempool, &silence, &ss, 0); + u->memblockq = pa_memblockq_new(0, MEMBLOCKQ_MAXLENGTH, 0, pa_frame_size(&ss), 1, 1, 0, &silence); + pa_memblock_unref(silence.memblock); if (!(e = getenv("LADSPA_PATH"))) e = LADSPA_PATH; -- cgit