diff options
author | 2010-11-20 23:46:50 +0100 | |
---|---|---|
committer | 2010-11-20 23:48:50 +0100 | |
commit | 05a3f0a6fc4c3ca2776d55e36b38c8c07e0d3184 (patch) | |
tree | 63f62eabcfd105fb60a033e177107b04347a46cf /plugins/alsa | |
parent | ba64cb98eb826e2fb91a47a09854dac8aac52f71 (diff) |
softvolume works for 16bit output;
replaygain works for 16bit and float output
Diffstat (limited to 'plugins/alsa')
-rw-r--r-- | plugins/alsa/alsa.c | 10 |
1 files changed, 6 insertions, 4 deletions
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; } |