Add a bridge implementation of get_master_volume.
Add an implementation of the new get_master_volume method to bridge from the new C only audio HAL to the old C++ legacy audio HAL. Change-Id: I5c29814623b5141b0c69927ea60be9873c8a5dab
This commit is contained in:
parent
497fb45662
commit
617c80a82e
4 changed files with 21 additions and 0 deletions
|
@ -125,6 +125,11 @@ size_t AudioHardwareBase::getInputBufferSize(uint32_t sampleRate, int format, in
|
|||
return 320;
|
||||
}
|
||||
|
||||
status_t AudioHardwareBase::getMasterVolume(float *volume)
|
||||
{
|
||||
return INVALID_OPERATION;
|
||||
}
|
||||
|
||||
status_t AudioHardwareBase::dumpState(int fd, const Vector<String16>& args)
|
||||
{
|
||||
const size_t SIZE = 256;
|
||||
|
|
|
@ -346,6 +346,12 @@ static int adev_set_master_volume(struct audio_hw_device *dev, float volume)
|
|||
return ladev->hwif->setMasterVolume(volume);
|
||||
}
|
||||
|
||||
static int adev_get_master_volume(struct audio_hw_device *dev, float* volume)
|
||||
{
|
||||
struct legacy_audio_device *ladev = to_ladev(dev);
|
||||
return ladev->hwif->getMasterVolume(volume);
|
||||
}
|
||||
|
||||
static int adev_set_mode(struct audio_hw_device *dev, int mode)
|
||||
{
|
||||
struct legacy_audio_device *ladev = to_ladev(dev);
|
||||
|
@ -553,6 +559,7 @@ static int legacy_adev_open(const hw_module_t* module, const char* name,
|
|||
ladev->device.init_check = adev_init_check;
|
||||
ladev->device.set_voice_volume = adev_set_voice_volume;
|
||||
ladev->device.set_master_volume = adev_set_master_volume;
|
||||
ladev->device.get_master_volume = adev_get_master_volume;
|
||||
ladev->device.set_mode = adev_set_mode;
|
||||
ladev->device.set_mic_mute = adev_set_mic_mute;
|
||||
ladev->device.get_mic_mute = adev_get_mic_mute;
|
||||
|
|
|
@ -46,6 +46,7 @@ public:
|
|||
virtual String8 getParameters(const String8& keys);
|
||||
|
||||
virtual size_t getInputBufferSize(uint32_t sampleRate, int format, int channelCount);
|
||||
virtual status_t getMasterVolume(float *volume);
|
||||
|
||||
/**This method dumps the state of the audio hardware */
|
||||
virtual status_t dumpState(int fd, const Vector<String16>& args);
|
||||
|
|
|
@ -209,6 +209,14 @@ public:
|
|||
*/
|
||||
virtual status_t setMasterVolume(float volume) = 0;
|
||||
|
||||
/**
|
||||
* Get the current master volume value for the HAL, if the HAL supports
|
||||
* master volume control. AudioFlinger will query this value from the
|
||||
* primary audio HAL when the service starts and use the value for setting
|
||||
* the initial master volume across all HALs.
|
||||
*/
|
||||
virtual status_t getMasterVolume(float *volume) = 0;
|
||||
|
||||
/**
|
||||
* setMode is called when the audio mode changes. NORMAL mode is for
|
||||
* standard audio playback, RINGTONE when a ringtone is playing, and IN_CALL
|
||||
|
|
Loading…
Reference in a new issue