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/pulsecore/play-memchunk.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/pulsecore/play-memchunk.c') diff --git a/src/pulsecore/play-memchunk.c b/src/pulsecore/play-memchunk.c index f127d7a4..1a3bd5b8 100644 --- a/src/pulsecore/play-memchunk.c +++ b/src/pulsecore/play-memchunk.c @@ -47,12 +47,16 @@ int pa_play_memchunk( pa_memblockq *q; int r; + pa_memchunk silence; pa_assert(sink); pa_assert(ss); pa_assert(chunk); - q = pa_memblockq_new(0, chunk->length, 0, pa_frame_size(ss), 1, 1, 0, NULL); + pa_silence_memchunk_get(&sink->core->silence_cache, sink->core->mempool, &silence, ss, 0); + q = pa_memblockq_new(0, chunk->length, 0, pa_frame_size(ss), 1, 1, 0, &silence); + pa_memblock_unref(silence.memblock); + pa_assert_se(pa_memblockq_push(q, chunk) >= 0); if ((r = pa_play_memblockq(sink, ss, map, q, volume, p, sink_input_index)) < 0) { -- cgit