CFArrayRef device_list;
+ float f_volume;
+ bool b_mute;
+
vlc_mutex_t lock;
vlc_cond_t cond;
};
RebuildDeviceList(p_aout);
/* remember the volume */
- aout_VolumeReport(p_aout, var_InheritInteger(p_aout, "auhal-volume") / (float)AOUT_VOLUME_DEFAULT);
- MuteSet(p_aout, var_InheritBool(p_aout, "mute"));
+ p_sys->f_volume = var_InheritInteger(p_aout, "auhal-volume") / (float)AOUT_VOLUME_DEFAULT;
+ aout_VolumeReport(p_aout, p_sys->f_volume);
+ p_sys->b_mute = var_InheritBool(p_aout, "mute");
+ aout_MuteReport(p_aout, p_sys->b_mute);
SwitchAudioDevice(p_aout, config_GetPsz(p_aout, "auhal-audio-device"));
p_sys->b_got_first_sample = false;
/* Set volume for output unit */
- float volume = var_InheritInteger(p_aout, "auhal-volume") / (float)AOUT_VOLUME_DEFAULT;
- volume = volume * volume * volume;
- verify_noerr(AudioUnitSetParameter(p_sys->au_unit,
- kHALOutputParam_Volume,
- kAudioUnitScope_Global,
- 0,
- volume,
- 0));
+ VolumeSet(p_aout, p_sys->f_volume);
+ MuteSet(p_aout, p_sys->b_mute);
return true;
}
if(p_sys->b_digital)
return VLC_EGENERIC;
+ p_sys->f_volume = volume;
aout_VolumeReport(p_aout, volume);
/* Set volume for output unit */
if(p_sys->b_digital)
return VLC_EGENERIC;
+ p_sys->b_mute = mute;
aout_MuteReport(p_aout, mute);
float volume = .0;
-
if (!mute)
- volume = var_InheritInteger(p_aout, "auhal-volume") / (float)AOUT_VOLUME_DEFAULT;
+ volume = p_sys->f_volume;
ostatus = AudioUnitSetParameter(p_sys->au_unit,
kHALOutputParam_Volume,