diff libao2/pl_delay.c @ 4374:0a95c5074c50

Fixed sig 11 caused by resampling plugin, some cosmetic changes and speed improvements
author anders
date Sun, 27 Jan 2002 10:41:43 +0000
parents 4a5d56e89735
children 2eec40929570
line wrap: on
line diff
--- a/libao2/pl_delay.c	Sun Jan 27 08:07:01 2002 +0000
+++ b/libao2/pl_delay.c	Sun Jan 27 10:41:43 2002 +0000
@@ -101,18 +101,16 @@
 // processes 'ao_plugin_data.len' bytes of 'data'
 // called for every block of data
 static int play(){
-  int i=0;
-  int j=0;
-  int k=0;
   // Copy end of prev block to begining of buffer
-  for(i=0;i<ao_plugin_cfg.pl_delay_len;i++,j++)
-    ((char*)pl_delay.data)[j]=((char*)pl_delay.delay)[i];
+  memcpy(pl_delay.data,pl_delay.delay,ao_plugin_cfg.pl_delay_len);
   // Copy current block except end
-  for(i=0;i<ao_plugin_data.len-ao_plugin_cfg.pl_delay_len;i++,j++,k++)
-    ((char*)pl_delay.data)[j]=((char*)ao_plugin_data.data)[k];
+  memcpy(pl_delay.data+ao_plugin_cfg.pl_delay_len,
+  	 ao_plugin_data.data,
+  	 ao_plugin_data.len-ao_plugin_cfg.pl_delay_len);
   // Save away end of current block for next call
-  for(i=0;i<ao_plugin_cfg.pl_delay_len;i++,k++)
-    ((char*)pl_delay.delay)[i]=((char*)ao_plugin_data.data)[k];
+  memcpy(pl_delay.delay,
+	 ao_plugin_data.data+ao_plugin_data.len-ao_plugin_cfg.pl_delay_len,
+	 ao_plugin_cfg.pl_delay_len);
   // Set output data block
   ao_plugin_data.data=pl_delay.data;
   return 1;