X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Faudio_filter%2Fchannel_mixer%2Fheadphone.c;h=992541410b9b4365e823f0b1d4dd85fdd2954460;hb=1ca32753816ecba9e7fe35a78aef9d8fb2231ddd;hp=3290faf46e6d02c10a243df056f0d7ea8b6bc834;hpb=1e85ac0bb43423e5f5f63c111842ff6a5c371034;p=vlc diff --git a/modules/audio_filter/channel_mixer/headphone.c b/modules/audio_filter/channel_mixer/headphone.c index 3290faf46e..992541410b 100644 --- a/modules/audio_filter/channel_mixer/headphone.c +++ b/modules/audio_filter/channel_mixer/headphone.c @@ -25,13 +25,16 @@ /***************************************************************************** * Preamble *****************************************************************************/ -#include /* malloc(), free() */ -#include + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + #include /* sqrt */ -#include -#include -#include +#include +#include +#include #include #include @@ -77,17 +80,17 @@ static block_t *Convert( filter_t *, block_t * ); vlc_module_begin(); set_description( N_("Headphone virtual spatialization effect") ); - set_shortname( _("Headphone effect") ); + set_shortname( N_("Headphone effect") ); set_help( MODULE_DESCRIPTION ); set_category( CAT_AUDIO ); set_subcategory( SUBCAT_AUDIO_AFILTER ); add_integer( "headphone-dim", 10, NULL, HEADPHONE_DIM_TEXT, - HEADPHONE_DIM_LONGTEXT, VLC_FALSE ); + HEADPHONE_DIM_LONGTEXT, false ); add_bool( "headphone-compensate", 0, NULL, HEADPHONE_COMPENSATE_TEXT, - HEADPHONE_COMPENSATE_LONGTEXT, VLC_TRUE ); + HEADPHONE_COMPENSATE_LONGTEXT, true ); add_bool( "headphone-dolby", 0, NULL, HEADPHONE_DOLBY_TEXT, - HEADPHONE_DOLBY_LONGTEXT, VLC_TRUE ); + HEADPHONE_DOLBY_LONGTEXT, true ); set_capability( "audio filter", 0 ); set_callbacks( Create, Destroy ); @@ -95,7 +98,7 @@ vlc_module_begin(); /* Audio filter 2 */ add_submodule(); - set_description( _("Headphone virtual spatialization effect") ); + set_description( N_("Headphone virtual spatialization effect") ); set_capability( "audio filter2", 0 ); set_callbacks( OpenFilter, CloseFilter ); vlc_module_end(); @@ -115,7 +118,7 @@ struct atomic_operation_t struct aout_filter_sys_t { size_t i_overflow_buffer_size;/* in bytes */ - byte_t * p_overflow_buffer; + uint8_t * p_overflow_buffer; unsigned int i_nb_atomic_operations; struct atomic_operation_t * p_atomic_operations; }; @@ -123,7 +126,7 @@ struct aout_filter_sys_t struct filter_sys_t { size_t i_overflow_buffer_size;/* in bytes */ - byte_t * p_overflow_buffer; + uint8_t * p_overflow_buffer; unsigned int i_nb_atomic_operations; struct atomic_operation_t * p_atomic_operations; }; @@ -243,10 +246,7 @@ static int Init( vlc_object_t *p_this, struct aout_filter_sys_t * p_data p_data->p_atomic_operations = malloc( sizeof(struct atomic_operation_t) * p_data->i_nb_atomic_operations ); if( p_data->p_atomic_operations == NULL ) - { - msg_Err( p_this, "out of memory" ); return -1; - } /* For each virtual speaker, computes elementary wave propagation time * to each ear */ @@ -344,10 +344,7 @@ static int Init( vlc_object_t *p_this, struct aout_filter_sys_t * p_data } p_data->p_overflow_buffer = malloc( p_data->i_overflow_buffer_size ); if( p_data->p_atomic_operations == NULL ) - { - msg_Err( p_this, "out of memory" ); return -1; - } memset( p_data->p_overflow_buffer, 0 , p_data->i_overflow_buffer_size ); /* end */ @@ -360,7 +357,7 @@ static int Init( vlc_object_t *p_this, struct aout_filter_sys_t * p_data static int Create( vlc_object_t *p_this ) { aout_filter_t * p_filter = (aout_filter_t *)p_this; - vlc_bool_t b_fit = VLC_TRUE; + bool b_fit = true; /* Activate this filter only with stereo devices */ if( p_filter->output.i_physical_channels @@ -374,27 +371,27 @@ static int Create( vlc_object_t *p_this ) if( p_filter->input.i_original_channels != p_filter->output.i_original_channels ) { - b_fit = VLC_FALSE; + b_fit = false; p_filter->input.i_original_channels = p_filter->output.i_original_channels; } if( p_filter->input.i_format != VLC_FOURCC('f','l','3','2') || p_filter->output.i_format != VLC_FOURCC('f','l','3','2') ) { - b_fit = VLC_FALSE; + b_fit = false; p_filter->input.i_format = VLC_FOURCC('f','l','3','2'); p_filter->output.i_format = VLC_FOURCC('f','l','3','2'); } if( p_filter->input.i_rate != p_filter->output.i_rate ) { - b_fit = VLC_FALSE; + b_fit = false; p_filter->input.i_rate = p_filter->output.i_rate; } if( p_filter->input.i_physical_channels == (AOUT_CHAN_LEFT|AOUT_CHAN_RIGHT) && ( p_filter->input.i_original_channels & AOUT_CHAN_DOLBYSTEREO ) && ! config_GetInt ( p_filter , "headphone-dolby" ) ) { - b_fit = VLC_FALSE; + b_fit = false; p_filter->input.i_physical_channels = AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER | AOUT_CHAN_REARLEFT | @@ -409,10 +406,7 @@ static int Create( vlc_object_t *p_this ) /* Allocate the memory needed to store the module's structure */ p_filter->p_sys = malloc( sizeof(struct aout_filter_sys_t) ); if( p_filter->p_sys == NULL ) - { - msg_Err( p_filter, "out of memory" ); - return VLC_EGENERIC; - } + return VLC_ENOMEM; p_filter->p_sys->i_overflow_buffer_size = 0; p_filter->p_sys->p_overflow_buffer = NULL; p_filter->p_sys->i_nb_atomic_operations = 0; @@ -460,13 +454,14 @@ static void Destroy( vlc_object_t *p_this ) static void DoWork( aout_instance_t * p_aout, aout_filter_t * p_filter, aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf ) { + VLC_UNUSED(p_aout); int i_input_nb = aout_FormatNbChannels( &p_filter->input ); int i_output_nb = aout_FormatNbChannels( &p_filter->output ); float * p_in = (float*) p_in_buf->p_buffer; - byte_t * p_out; - byte_t * p_overflow; - byte_t * p_slide; + uint8_t * p_out; + uint8_t * p_overflow; + uint8_t * p_slide; size_t i_overflow_size; /* in bytes */ size_t i_out_size; /* in bytes */ @@ -574,7 +569,7 @@ static void DoWork( aout_instance_t * p_aout, aout_filter_t * p_filter, static int OpenFilter( vlc_object_t *p_this ) { filter_t *p_filter = (filter_t *)p_this; - vlc_bool_t b_fit = VLC_TRUE; + bool b_fit = true; /* Activate this filter only with stereo devices */ if( p_filter->fmt_out.audio.i_physical_channels @@ -588,27 +583,27 @@ static int OpenFilter( vlc_object_t *p_this ) if( p_filter->fmt_in.audio.i_original_channels != p_filter->fmt_out.audio.i_original_channels ) { - b_fit = VLC_FALSE; + b_fit = false; p_filter->fmt_in.audio.i_original_channels = p_filter->fmt_out.audio.i_original_channels; } if( p_filter->fmt_in.audio.i_format != VLC_FOURCC('f','l','3','2') || p_filter->fmt_out.audio.i_format != VLC_FOURCC('f','l','3','2') ) { - b_fit = VLC_FALSE; + b_fit = false; p_filter->fmt_in.audio.i_format = VLC_FOURCC('f','l','3','2'); p_filter->fmt_out.audio.i_format = VLC_FOURCC('f','l','3','2'); } if( p_filter->fmt_in.audio.i_rate != p_filter->fmt_out.audio.i_rate ) { - b_fit = VLC_FALSE; + b_fit = false; p_filter->fmt_in.audio.i_rate = p_filter->fmt_out.audio.i_rate; } if( p_filter->fmt_in.audio.i_physical_channels == (AOUT_CHAN_LEFT|AOUT_CHAN_RIGHT) && ( p_filter->fmt_in.audio.i_original_channels & AOUT_CHAN_DOLBYSTEREO ) && !config_GetInt( p_filter, "headphone-dolby" ) ) { - b_fit = VLC_FALSE; + b_fit = false; p_filter->fmt_in.audio.i_physical_channels = AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER | AOUT_CHAN_REARLEFT | @@ -623,10 +618,7 @@ static int OpenFilter( vlc_object_t *p_this ) /* Allocate the memory needed to store the module's structure */ p_filter->p_sys = malloc( sizeof(struct filter_sys_t) ); if( p_filter->p_sys == NULL ) - { - msg_Err( p_filter, "out of memory" ); - return VLC_EGENERIC; - } + return VLC_ENOMEM; p_filter->p_sys->i_overflow_buffer_size = 0; p_filter->p_sys->p_overflow_buffer = NULL; p_filter->p_sys->i_nb_atomic_operations = 0; @@ -677,7 +669,8 @@ static block_t *Convert( filter_t *p_filter, block_t *p_block ) if( !p_block || !p_block->i_samples ) { - if( p_block ) p_block->pf_release( p_block ); + if( p_block ) + block_Release( p_block ); return NULL; } @@ -689,7 +682,7 @@ static block_t *Convert( filter_t *p_filter, block_t *p_block ) if( !p_out ) { msg_Warn( p_filter, "can't get output buffer" ); - if( p_block ) p_block->pf_release( p_block ); + block_Release( p_block ); return NULL; } @@ -717,6 +710,6 @@ static block_t *Convert( filter_t *p_filter, block_t *p_block ) p_out->i_buffer = out_buf.i_nb_bytes; p_out->i_samples = out_buf.i_nb_samples; - if( p_block ) p_block->pf_release( p_block ); + block_Release( p_block ); return p_out; }