From 05a3f0a6fc4c3ca2776d55e36b38c8c07e0d3184 Mon Sep 17 00:00:00 2001 From: waker Date: Sat, 20 Nov 2010 23:46:50 +0100 Subject: softvolume works for 16bit output; replaygain works for 16bit and float output --- plugins/alsa/alsa.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'plugins/alsa/alsa.c') diff --git a/plugins/alsa/alsa.c b/plugins/alsa/alsa.c index 887bc205..1032f585 100644 --- a/plugins/alsa/alsa.c +++ b/plugins/alsa/alsa.c @@ -623,10 +623,12 @@ palsa_callback (char *stream, int len) { ); #else -// int16_t ivolume = deadbeef->volume_get_amp () * 1000; -// for (int i = 0; i < bytesread/2; i++) { -// ((int16_t*)stream)[i] = (int16_t)(((int32_t)(((int16_t*)stream)[i])) * ivolume / 1000); -// } + if (plugin.fmt.bps == 16) { + int16_t ivolume = deadbeef->volume_get_amp () * 1000; + for (int i = 0; i < bytesread/2; i++) { + ((int16_t*)stream)[i] = (int16_t)(((int32_t)(((int16_t*)stream)[i])) * ivolume / 1000); + } + } #endif return bytesread; } -- cgit v1.2.3