struct module_t * p_module;
struct aout_sys_t * p_sys;
void (* pf_play)( aout_instance_t * );
- int (* pf_volume_get )( aout_instance_t *, audio_volume_t * );
int (* pf_volume_set )( aout_instance_t *, audio_volume_t );
int i_nb_samples;
pa_threaded_mainloop_unlock(sys->mainloop);
}
-static int VolumeGet(aout_instance_t *aout, audio_volume_t *volp)
-{
- aout_sys_t *sys = aout->output.p_sys;
- pa_volume_t volume = pa_cvolume_max(&sys->cvolume);
-
- *volp = pa_sw_volume_to_linear(volume) * AOUT_VOLUME_DEFAULT;
- return 0;
-}
-
static int VolumeSet(aout_instance_t *aout, audio_volume_t vol)
{
aout_sys_t *sys = aout->output.p_sys;
pa_threaded_mainloop_unlock(mainloop);
aout->output.pf_play = Play;
- aout->output.pf_volume_get = VolumeGet;
aout->output.pf_volume_set = VolumeSet;
return VLC_SUCCESS;
static void CALLBACK WaveOutCallback ( HWAVEOUT, UINT, DWORD, DWORD, DWORD );
static void* WaveOutThread( vlc_object_t * );
-static int VolumeGet( aout_instance_t *, audio_volume_t * );
static int VolumeSet( aout_instance_t *, audio_volume_t );
static int WaveOutClearDoneBuffers(aout_sys_t *p_sys);
if( waveOutGetVolume( p_aout->output.p_sys->h_waveout, &i_dummy )
== MMSYSERR_NOERROR )
{
- p_aout->output.pf_volume_get = VolumeGet;
p_aout->output.pf_volume_set = VolumeSet;
}
}
return NULL;
}
-static int VolumeGet( aout_instance_t * p_aout, audio_volume_t * pi_volume )
-{
- DWORD i_waveout_vol;
-
-#ifdef UNDER_CE
- waveOutGetVolume( 0, &i_waveout_vol );
-#else
- waveOutGetVolume( p_aout->output.p_sys->h_waveout, &i_waveout_vol );
-#endif
-
- i_waveout_vol &= 0xFFFF;
- *pi_volume = p_aout->output.i_volume =
- (i_waveout_vol * AOUT_VOLUME_MAX + 0xFFFF /*rounding*/) / 2 / 0xFFFF;
- return 0;
-}
-
static int VolumeSet( aout_instance_t * p_aout, audio_volume_t i_volume )
{
unsigned long i_waveout_vol = i_volume * 0xFFFF * 2 / AOUT_VOLUME_MAX;
{
int i_volume;
- p_aout->output.pf_volume_get = aout_VolumeSoftGet;
p_aout->output.pf_volume_set = aout_VolumeSoftSet;
i_volume = config_GetInt( p_aout, "volume" );
aout_VolumeSoftSet( p_aout, (audio_volume_t)i_volume );
}
-/* Placeholder for pf_volume_get(). */
-int aout_VolumeSoftGet( aout_instance_t * p_aout, audio_volume_t * pi_volume )
-{
- *pi_volume = p_aout->output.i_volume;
- return 0;
-}
-
-
/* Placeholder for pf_volume_set(). */
int aout_VolumeSoftSet( aout_instance_t * p_aout, audio_volume_t i_volume )
{
/* Meant to be called by the output plug-in's Open(). */
void aout_VolumeNoneInit( aout_instance_t * p_aout )
{
- p_aout->output.pf_volume_get = aout_VolumeNoneGet;
p_aout->output.pf_volume_set = aout_VolumeNoneSet;
}
-/* Placeholder for pf_volume_get(). */
-int aout_VolumeNoneGet( aout_instance_t * p_aout, audio_volume_t * pi_volume )
-{
- (void)p_aout; (void)pi_volume;
- return -1;
-}
-
/* Placeholder for pf_volume_set(). */
int aout_VolumeNoneSet( aout_instance_t * p_aout, audio_volume_t i_volume )
{