summaryrefslogtreecommitdiffstats
path: root/libao2
diff options
context:
space:
mode:
Diffstat (limited to 'libao2')
-rw-r--r--libao2/ao_plugin.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/libao2/ao_plugin.c b/libao2/ao_plugin.c
index e2861930f0..ad1934c8ff 100644
--- a/libao2/ao_plugin.c
+++ b/libao2/ao_plugin.c
@@ -250,14 +250,12 @@ static int play(void* data,int len,int flags){
// Limit length to avoid over flow in plugins
int tmp = get_space();
int ret_len =(tmp<len)?tmp:len;
+ // keep all channels of each sample together
+ ret_len -= ret_len % (ao_plugin_local_data.channels*ao_plugin_local_data.bpm/8);
if(ret_len){
// Filter data
ao_plugin_data.len=ret_len;
ao_plugin_data.data=data;
-
-// update plugins and uncoment that
-// ao_plugin_data.channels=ao_plugin_local_data.channels;
-// ao_plugin_data.format=ao_plugin_local_data.format;
while(plugin(i))
plugin(i++)->play();