1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-30 02:52:10 +00:00

adds support for AOCONTROL_GET_VOLUME/AOCONTROL_SET_VOLUME in ao_macosx, patcg by Crhis Roccati<roccati@pobox.com>

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21368 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
nplourde 2006-11-28 23:05:45 +00:00
parent 9fdb13fd53
commit 3058b1f8ac

View File

@ -171,13 +171,36 @@ int req=(inNumFrames)*ao->packetSize;
}
static int control(int cmd,void *arg){
ao_control_vol_t *control_vol;
OSStatus err;
Float32 pan, vol;
switch (cmd) {
case AOCONTROL_SET_DEVICE:
case AOCONTROL_GET_DEVICE:
case AOCONTROL_GET_VOLUME:
control_vol = (ao_control_vol_t*)arg;
err = AudioUnitGetParameter(ao->theOutputUnit, kHALOutputParam_Volume, kAudioUnitScope_Global, 0, &vol);
if(err==0) {
// printf("GET VOL=%f\n", vol);
control_vol->left=control_vol->right=vol*100.0/4.0;
return CONTROL_TRUE;
}
else {
return CONTROL_FALSE;
}
case AOCONTROL_SET_VOLUME:
control_vol = (ao_control_vol_t*)arg;
vol=(control_vol->left+control_vol->right)*4.0/200.0;
err = AudioUnitSetParameter(ao->theOutputUnit, kHALOutputParam_Volume, kAudioUnitScope_Global, 0, vol, 0);
if(err==0) {
// printf("SET VOL=%f\n", vol);
return CONTROL_TRUE;
}
else {
return CONTROL_FALSE;
}
/* Everything is currently unimplemented */
return CONTROL_FALSE;
default:
return CONTROL_FALSE;
}