/*****************************************************************************
* Preamble
*****************************************************************************/
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include <math.h> /* sqrt */
-#include <vlc/vlc.h>
+#include <vlc_common.h>
+#include <vlc_plugin.h>
#include <vlc_aout.h>
#include <vlc_filter.h>
#include <vlc_block.h>
"processed by this filter. Enabling this setting is not recommended.")
vlc_module_begin();
- set_description( _("Headphone virtual spatialization effect") );
- set_shortname( _("Headphone effect") );
+ set_description( N_("Headphone virtual spatialization 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 );
/* 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();
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;
};
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;
};
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 */
}
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 */
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
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 |
/* 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;
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 */
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
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 |
/* 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;
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;
}
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;
}
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;
}