From: Rafaël Carré Date: Thu, 3 Sep 2009 14:10:12 +0000 (+0200) Subject: aout_BufferAlloc : returns the allocated buffer X-Git-Tag: 1.1.0-ff~3567 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=c22195b458f8bf44b4dbd5f424031e0add08e5d0;p=vlc aout_BufferAlloc : returns the allocated buffer --- diff --git a/src/audio_output/aout_internal.h b/src/audio_output/aout_internal.h index 103f730e22..f900b1a09e 100644 --- a/src/audio_output/aout_internal.h +++ b/src/audio_output/aout_internal.h @@ -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 { diff --git a/src/audio_output/common.c b/src/audio_output/common.c index dbdead4d07..43ed69c550 100644 --- a/src/audio_output/common.c +++ b/src/audio_output/common.c @@ -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; } diff --git a/src/audio_output/dec.c b/src/audio_output/dec.c index a804144d9c..ea443efdf0 100644 --- a/src/audio_output/dec.c +++ b/src/audio_output/dec.c @@ -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; diff --git a/src/audio_output/filters.c b/src/audio_output/filters.c index d6972fc3b7..82b4d52c32 100644 --- a/src/audio_output/filters.c +++ b/src/audio_output/filters.c @@ -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; diff --git a/src/audio_output/mixer.c b/src/audio_output/mixer.c index 7857dfa86e..c13a107ec6 100644 --- a/src/audio_output/mixer.c +++ b/src/audio_output/mixer.c @@ -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 );