From bbc6dd68e22171670271e694f3a42db736eca60d Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Fri, 3 Feb 2006 12:23:17 +0000 Subject: Volume adjustment must be done _after_ dropping the chunk since drop will reject a modified chunk. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@472 fefdeb5f-60dc-0310-8127-8f9354f1896f --- polyp/sink-input.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'polyp') diff --git a/polyp/sink-input.c b/polyp/sink-input.c index 4a847e46..f447b8cf 100644 --- a/polyp/sink-input.c +++ b/polyp/sink-input.c @@ -222,12 +222,6 @@ int pa_sink_input_peek(pa_sink_input *i, pa_memchunk *chunk, pa_cvolume *volume) goto finish; assert(tchunk.length); - - /* It might be necessary to adjust the volume here */ - if (do_volume_adj_here) { - pa_memchunk_make_writable(&tchunk, i->sink->core->memblock_stat, 0); - pa_volume_memchunk(&tchunk, &i->sample_spec, &i->volume); - } l = pa_resampler_request(i->resampler, CONVERT_BUFFER_LENGTH); @@ -237,6 +231,12 @@ int pa_sink_input_peek(pa_sink_input *i, pa_memchunk *chunk, pa_cvolume *volume) i->drop(i, &tchunk, l); tchunk.length = l; + /* It might be necessary to adjust the volume here */ + if (do_volume_adj_here) { + pa_memchunk_make_writable(&tchunk, i->sink->core->memblock_stat, 0); + pa_volume_memchunk(&tchunk, &i->sample_spec, &i->volume); + } + pa_resampler_run(i->resampler, &tchunk, &i->resampled_chunk); pa_memblock_unref(tchunk.memblock); } -- cgit