+ /* create a vlc object */
+ p_headphone_filter = vlc_object_create( p_aout
+ , sizeof(aout_filter_t) );
+ if ( p_headphone_filter == NULL )
+ {
+ msg_Err( p_aout, "couldn't open the headphone virtual spatialization module" );
+ aout_FifoDestroy( p_aout, &p_input->fifo );
+ p_input->b_error = 1;
+ return -1;
+ }
+ vlc_object_attach( p_headphone_filter, p_aout );
+
+ /* find the headphone filter */
+ memcpy( &p_headphone_filter->input, &headphone_intermediate_format
+ , sizeof(audio_sample_format_t) );
+ memcpy( &p_headphone_filter->output, &intermediate_format
+ , sizeof(audio_sample_format_t) );
+ p_headphone_filter->p_module = module_Need( p_headphone_filter, "audio filter"
+ , "headphone" );
+ if ( p_headphone_filter->p_module == NULL )
+ {
+ vlc_object_detach( p_headphone_filter );
+ vlc_object_destroy( p_headphone_filter );