aout_BufferAlloc : returns the allocated buffer
authorRafaël Carré <rafael.carre@gmail.com>
Thu, 3 Sep 2009 14:10:12 +0000 (16:10 +0200)
committerRafaël Carré <rafael.carre@gmail.com>
Thu, 3 Sep 2009 14:10:12 +0000 (16:10 +0200)
src/audio_output/aout_internal.h
src/audio_output/common.c
src/audio_output/dec.c
src/audio_output/filters.c
src/audio_output/mixer.c

index 103f730..f900b1a 100644 (file)
@@ -28,8 +28,8 @@
 #ifndef __LIBVLC_AOUT_INTERNAL_H
 # define __LIBVLC_AOUT_INTERNAL_H 1
 
-void aout_BufferAlloc(aout_alloc_t *allocation, mtime_t microseconds,
-        aout_buffer_t *old_buffer, aout_buffer_t **new_buffer);
+aout_buffer_t *aout_BufferAlloc(aout_alloc_t *allocation, mtime_t microseconds,
+        aout_buffer_t *old_buffer);
 
 struct aout_filter_owner_sys_t
 {
index dbdead4..43ed69c 100644 (file)
@@ -701,13 +701,12 @@ bool aout_CheckChannelExtraction( int *pi_selection,
  * aout_BufferAlloc:
  *****************************************************************************/
 
-void aout_BufferAlloc(aout_alloc_t *allocation, mtime_t microseconds,
-        aout_buffer_t *old_buffer, aout_buffer_t **new_buffer)
+aout_buffer_t *aout_BufferAlloc(aout_alloc_t *allocation, mtime_t microseconds,
+        aout_buffer_t *old_buffer)
 {
     if ( !allocation->b_alloc )
     {
-        *new_buffer = old_buffer;
-        return;
+        return old_buffer;
     }
 
     aout_buffer_t *buffer;
@@ -718,10 +717,7 @@ void aout_BufferAlloc(aout_alloc_t *allocation, mtime_t microseconds,
 
     buffer = malloc( i_alloc_size + sizeof(aout_buffer_t) );
     if ( !buffer )
-    {
-        *new_buffer = NULL;
-        return;
-    }
+        return NULL;
 
     buffer->b_alloc = true;
     buffer->i_size = i_alloc_size;
@@ -734,5 +730,5 @@ void aout_BufferAlloc(aout_alloc_t *allocation, mtime_t microseconds,
         buffer->end_date = old_buffer->end_date;
     }
 
-    *new_buffer = buffer;
+    return buffer;
 }
index a804144..ea443ef 100644 (file)
@@ -267,7 +267,7 @@ aout_buffer_t * aout_DecNewBuffer( aout_input_t * p_input,
     duration = (1000000 * (mtime_t)i_nb_samples) / p_input->input.i_rate;
 
     /* This necessarily allocates in the heap. */
-    aout_BufferAlloc( &p_input->input_alloc, duration, NULL, &p_buffer );
+    p_buffer = aout_BufferAlloc( &p_input->input_alloc, duration, NULL );
     if( p_buffer != NULL )
         p_buffer->i_nb_bytes = i_nb_samples * p_input->input.i_bytes_per_frame
                                   / p_input->input.i_frame_length;
@@ -326,7 +326,7 @@ int aout_DecPlay( aout_instance_t * p_aout, aout_input_t * p_input,
         mtime_t duration = (1000000 * (mtime_t)p_buffer->i_nb_samples)
                             / p_input->input.i_rate;
 
-        aout_BufferAlloc( &p_input->input_alloc, duration, NULL, &p_new_buffer );
+        p_new_buffer = aout_BufferAlloc( &p_input->input_alloc, duration, NULL);
         vlc_memcpy( p_new_buffer->p_buffer, p_buffer->p_buffer,
                     p_buffer->i_nb_bytes );
         p_new_buffer->i_nb_samples = p_buffer->i_nb_samples;
index d6972fc..82b4d52 100644 (file)
@@ -347,10 +347,10 @@ void aout_FiltersPlay( aout_instance_t * p_aout,
         /* Resamplers can produce slightly more samples than (i_in_nb *
          * p_filter->output.i_rate / p_filter->input.i_rate) so we need
          * slightly bigger buffers. */
-        aout_BufferAlloc( &p_filter->output_alloc,
-                          ((mtime_t)(*pp_input_buffer)->i_nb_samples + 2)
-                          * 1000000 / p_filter->input.i_rate,
-                          *pp_input_buffer, &p_output_buffer );
+        p_output_buffer = aout_BufferAlloc( &p_filter->output_alloc,
+                              ((mtime_t)(*pp_input_buffer)->i_nb_samples + 2)
+                              * 1000000 / p_filter->input.i_rate,
+                              *pp_input_buffer );
         if( p_output_buffer == NULL )
             return;
 
index 7857dfa..c13a107 100644 (file)
@@ -333,13 +333,12 @@ 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 );