diff options
author | Eric Laurent <elaurent@google.com> | 2014-12-12 14:34:22 -0800 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2014-12-12 14:54:57 -0800 |
commit | c73ca6ef04136f28306784ad35f444538f081957 (patch) | |
tree | ff92912a23c52d8b32186b6404af0b8342005699 /services/audiopolicy/AudioPolicyManager.h | |
parent | 8cffa91a76d3fa4c96268fc40fc8722a0d33dc8d (diff) | |
download | frameworks_av-c73ca6ef04136f28306784ad35f444538f081957.zip frameworks_av-c73ca6ef04136f28306784ad35f444538f081957.tar.gz frameworks_av-c73ca6ef04136f28306784ad35f444538f081957.tar.bz2 |
audio policy: fix remote mic capture
commit 275e8e9de introduced a regression for platforms
overriding AudioPolicyManager::getDeviceForInputSource() method.
Fixed by defining specific non virtual methods when overiding would
break remote submix implementation.
Bug: 18736417.
Change-Id: Id4d0a6c48da987e6fb24422f2d61c7ab0fbfc921
Diffstat (limited to 'services/audiopolicy/AudioPolicyManager.h')
-rw-r--r-- | services/audiopolicy/AudioPolicyManager.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/services/audiopolicy/AudioPolicyManager.h b/services/audiopolicy/AudioPolicyManager.h index 9ec3557..ff3afab 100644 --- a/services/audiopolicy/AudioPolicyManager.h +++ b/services/audiopolicy/AudioPolicyManager.h @@ -610,8 +610,7 @@ protected: audio_patch_handle_t *patchHandle = NULL); // select input device corresponding to requested audio source - virtual audio_devices_t getDeviceForInputSource(audio_source_t inputSource, - AudioMix **policyMix = NULL); + virtual audio_devices_t getDeviceForInputSource(audio_source_t inputSource); // return io handle of active input or 0 if no input is active // Only considers inputs from physical devices (e.g. main mic, headset mic) when @@ -914,6 +913,16 @@ private: uint32_t handleEventForBeacon(int event); uint32_t setBeaconMute(bool mute); bool isValidAttributes(const audio_attributes_t *paa); + + // select input device corresponding to requested audio source and return associated policy + // mix if any. Calls getDeviceForInputSource(). + audio_devices_t getDeviceAndMixForInputSource(audio_source_t inputSource, + AudioMix **policyMix = NULL); + + // Called by setDeviceConnectionState(). + status_t setDeviceConnectionStateInt(audio_devices_t device, + audio_policy_dev_state_t state, + const char *device_address); }; }; |