summaryrefslogtreecommitdiffstats
path: root/services/audiopolicy/AudioPolicyManager.h
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2014-12-12 14:34:22 -0800
committerEric Laurent <elaurent@google.com>2014-12-12 14:54:57 -0800
commitc73ca6ef04136f28306784ad35f444538f081957 (patch)
treeff92912a23c52d8b32186b6404af0b8342005699 /services/audiopolicy/AudioPolicyManager.h
parent8cffa91a76d3fa4c96268fc40fc8722a0d33dc8d (diff)
downloadframeworks_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.h13
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);
};
};