]> git.sesse.net Git - vlc/blobdiff - src/audio_output/mixer.c
Fixed invalid p_aout->p_mixer usage in aout input.
[vlc] / src / audio_output / mixer.c
index d43bccb67155839ea618350de6ac387c77018da7..c13a107ec6b33e7431ba1deee2444c81974af704 100644 (file)
@@ -93,6 +93,7 @@ void aout_MixerDelete( aout_instance_t * p_aout )
 
     module_unneed( p_aout->p_mixer, p_aout->p_mixer->module );
 
+    free( p_aout->p_mixer->input );
     vlc_object_release( p_aout->p_mixer );
 
     /* */
@@ -332,20 +333,19 @@ static int MixBuffer( aout_instance_t * p_aout )
     }
 
     /* Run the mixer. */
-    aout_BufferAlloc( &p_aout->p_mixer->allocation,
-                      ((uint64_t)p_aout->output.i_nb_samples * 1000000)
-                        / p_aout->output.output.i_rate,
-                      /* This is a bit kludgy, but is actually only used
-                       * for the S/PDIF dummy mixer : */
-                      p_aout->pp_inputs[i_first_input]->mixer.fifo.p_first,
-                      p_output_buffer );
+    p_output_buffer = aout_BufferAlloc( &p_aout->p_mixer->allocation,
+                          ((uint64_t)p_aout->output.i_nb_samples * 1000000)
+                            / p_aout->output.output.i_rate,
+                          /* This is a bit kludgy, but is actually only used
+                           * for the S/PDIF dummy mixer : */
+                          p_aout->pp_inputs[i_first_input]->mixer.fifo.p_first);
     if ( p_output_buffer == NULL )
     {
         aout_unlock_input_fifos( p_aout );
         return -1;
     }
     /* This is again a bit kludgy - for the S/PDIF mixer. */
-    if ( p_aout->p_mixer->allocation.i_alloc_type != AOUT_ALLOC_NONE )
+    if ( p_aout->p_mixer->allocation.b_alloc )
     {
         p_output_buffer->i_nb_samples = p_aout->output.i_nb_samples;
         p_output_buffer->i_nb_bytes = p_aout->output.i_nb_samples