]> git.sesse.net Git - vlc/commitdiff
* (float) 0 the buffer if it cannot be decoded and fixed32.
authorDerk-Jan Hartman <hartman@videolan.org>
Fri, 21 Feb 2003 14:17:46 +0000 (14:17 +0000)
committerDerk-Jan Hartman <hartman@videolan.org>
Fri, 21 Feb 2003 14:17:46 +0000 (14:17 +0000)
  right Meuuh ??? ;)

modules/audio_filter/converter/mpgatofixed32.c

index aa2ddc46f088de128ec40da30b9f7ecd881b8db5..7d22146f0503fd551e77229fc79ac1d6670960ed 100644 (file)
@@ -3,7 +3,7 @@
  * using MAD (MPEG Audio Decoder)
  *****************************************************************************
  * Copyright (C) 2001 by Jean-Paul Saman
- * $Id: mpgatofixed32.c,v 1.4 2003/02/20 01:52:45 sigmunau Exp $
+ * $Id: mpgatofixed32.c,v 1.5 2003/02/21 14:17:46 hartman Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *          Jean-Paul Saman <jpsaman@wxs.nl>
@@ -123,8 +123,18 @@ static void DoWork( aout_instance_t * p_aout, aout_filter_t * p_filter,
     {
         msg_Warn( p_aout, "libmad error: %s",
                   mad_stream_errorstr( &p_sys->mad_stream ) );
-        memset( p_out_buf->p_buffer, 0, p_out_buf->i_nb_bytes );
-        return;
+        if( p_filter->output.i_format == VLC_FOURCC('f','l','3','2') )
+        {
+            int i;
+           float * a = (float *)p_out_buf->p_buffer;
+            for ( i = 0 ; i < p_out_buf->i_nb_samples ; i++ )
+                *a++ = 0.0;
+            return;
+        }
+        else
+        {
+            memset( p_out_buf->p_buffer, 0, p_out_buf->i_nb_bytes );
+        } 
     }
     mad_synth_frame( &p_sys->mad_synth, &p_sys->mad_frame );