]> git.sesse.net Git - vlc/blobdiff - modules/audio_filter/converter/float32tos8.c
* Fixed filters which couldn't work with more than 2 channels ;
[vlc] / modules / audio_filter / converter / float32tos8.c
index ec2943f455c5e91f15f2fcfd8b7bd1419a5aecb3..cf635228dab6e7b9fb8af1019e2b7eaa8f7495d4 100644 (file)
@@ -2,7 +2,7 @@
  * float32tos8.c : converter from float32 to signed 8 bits integer
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: float32tos8.c,v 1.5 2002/09/30 21:32:32 massiot Exp $
+ * $Id: float32tos8.c,v 1.6 2002/10/15 23:10:54 massiot Exp $
  *
  * Authors: Xavier Maillard <zedek@fxgsproject.org>
  *
@@ -85,7 +85,8 @@ static void DoWork( aout_instance_t * p_aout, aout_filter_t * p_filter,
     float * p_in = (float *)p_in_buf->p_buffer;
     s8 * p_out = (s8 *)p_out_buf->p_buffer;
 
-    for ( i = 0; i < p_in_buf->i_nb_samples * p_filter->input.i_channels; i++ )
+    for ( i = p_in_buf->i_nb_samples
+               * aout_FormatNbChannels( &p_filter->input ); i-- ; )
     {
         if ( *p_in >= 1.0 ) *p_out = 127;
         else if ( *p_in < -1.0 ) *p_out = -128;