#define aout_FormatPrint(o, t, f) aout_FormatPrint(VLC_OBJECT(o), t, f)
VLC_API const char * aout_FormatPrintChannels( const audio_sample_format_t * ) VLC_USED;
-VLC_API void aout_VolumeNoneInit( audio_output_t * );
VLC_API void aout_VolumeSoftInit( audio_output_t * );
VLC_API void aout_VolumeHardInit( audio_output_t *, aout_volume_cb, bool );
VLC_API void aout_VolumeHardSet( audio_output_t *, float, bool );
{
aout->format.i_bytes_per_frame = AOUT_SPDIF_SIZE;
aout->format.i_frame_length = A52_FRAME_NB;
- aout_VolumeNoneInit (aout);
+ aout->pf_volume_set = NULL;
}
else
{
p_aout->format.i_rate = (unsigned int)p_sys->stream_format.mSampleRate;
aout_FormatPrepare( &p_aout->format );
aout_PacketInit( p_aout, &p_sys->packet, A52_FRAME_NB );
- aout_VolumeNoneInit( p_aout );
+ p_aout->pf_volume_set = NULL;
/* Add IOProc callback */
err = AudioDeviceCreateIOProcID( p_sys->i_selected_dev,
aout_PacketInit( p_aout, &p_aout->sys->packet, A52_FRAME_NB );
p_aout->sys->volume = -1;
- aout_VolumeNoneInit( p_aout );
+ p_aout->pf_volume_set = NULL;
}
else
{
p_aout->format.i_bytes_per_frame = AOUT_SPDIF_SIZE;
p_aout->format.i_frame_length = A52_FRAME_NB;
}
- aout_VolumeNoneInit( p_aout );
+ p_aout->pf_volume_set = NULL;
/* Channels number */
i_channels = var_CreateGetInteger( p_this, "audiofile-channels" );
p_aout->format.i_frame_length = A52_FRAME_NB;
aout_PacketInit( p_aout, &p_sys->packet, A52_FRAME_NB );
- aout_VolumeNoneInit( p_aout );
+ p_aout->pf_volume_set = NULL;
}
else
{
p_aout->format.i_bytes_per_frame;
aout_PacketInit( p_aout, &p_aout->sys->packet, A52_FRAME_NB );
- aout_VolumeNoneInit( p_aout );
+ p_aout->pf_volume_set = NULL;
}
else
{
owner->volume.mixer = NULL;
aout->pf_play = aout_DecDeleteBuffer;
- aout_VolumeNoneInit (aout);
+ aout->pf_volume_set = NULL;
vlc_object_set_destructor (aout, aout_Destructor);
/*
/* apply volume to the pipeline */
aout_lock (aout);
- if (owner->module != NULL)
+ if (aout->pf_volume_set != NULL)
ret = aout->pf_volume_set (aout, vol, mute);
aout_unlock (aout);
aout->pf_play = aout_DecDeleteBuffer; /* gruik */
aout->pf_pause = NULL;
aout->pf_flush = NULL;
- aout_VolumeNoneInit (aout);
+ aout->pf_volume_set = NULL;
owner->module = NULL;
aout_FiltersDestroyPipeline (owner->filters, owner->nb_filters);
}
/*** Volume handling ***/
-/**
- * Dummy volume setter. This is the default volume setter.
- */
-static int aout_VolumeNoneSet (audio_output_t *aout, float volume, bool mute)
-{
- (void)aout; (void)volume; (void)mute;
- return -1;
-}
-
-/**
- * Configures the dummy volume setter.
- * @note Audio output plugins for which volume is irrelevant
- * should call this function during activation.
- */
-void aout_VolumeNoneInit (audio_output_t *aout)
-{
- /* aout_New() -safely- calls this function without the lock, before any
- * other thread knows of this audio output instance.
- aout_assert_locked (aout); */
- aout->pf_volume_set = aout_VolumeNoneSet;
-}
-
/**
* Volume setter for software volume.
*/
aout_IsMuted
aout_SetMute
aout_TimeReport
-aout_VolumeNoneInit
aout_VolumeSoftInit
aout_VolumeHardInit
aout_VolumeHardSet