summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2015-04-01 22:40:05 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-04-01 22:40:05 +0000
commitd4d55cdf31a3faa619bfa043f5b0f170f6ffd139 (patch)
treee1931025bb3db237ddf60e352488b1c4b1c91eef /services
parentda2246b54e3eed9e9366c98688b19f997d869e79 (diff)
parent887a9ed4446cb451181c392a0e51a69914e58fbf (diff)
downloadframeworks_av-d4d55cdf31a3faa619bfa043f5b0f170f6ffd139.zip
frameworks_av-d4d55cdf31a3faa619bfa043f5b0f170f6ffd139.tar.gz
frameworks_av-d4d55cdf31a3faa619bfa043f5b0f170f6ffd139.tar.bz2
Merge "Updates to AudioPolicyManager refactor"
Diffstat (limited to 'services')
-rw-r--r--services/audiopolicy/common/managerdefinitions/include/DeviceDescriptor.h2
-rw-r--r--services/audiopolicy/common/managerdefinitions/include/audio_policy_conf.h7
-rw-r--r--services/audiopolicy/common/managerdefinitions/src/HwModule.cpp4
-rw-r--r--services/audiopolicy/managerdefault/AudioPolicyManager.cpp4
-rw-r--r--services/audiopolicy/managerdefault/AudioPolicyManager.h17
5 files changed, 21 insertions, 13 deletions
diff --git a/services/audiopolicy/common/managerdefinitions/include/DeviceDescriptor.h b/services/audiopolicy/common/managerdefinitions/include/DeviceDescriptor.h
index b9e1d4a..d15f6b4 100644
--- a/services/audiopolicy/common/managerdefinitions/include/DeviceDescriptor.h
+++ b/services/audiopolicy/common/managerdefinitions/include/DeviceDescriptor.h
@@ -54,6 +54,8 @@ public:
private:
audio_devices_t mDeviceType;
+
+friend class DeviceVector;
};
class DeviceVector : public SortedVector< sp<DeviceDescriptor> >
diff --git a/services/audiopolicy/common/managerdefinitions/include/audio_policy_conf.h b/services/audiopolicy/common/managerdefinitions/include/audio_policy_conf.h
index 441bf7b..a393e3b 100644
--- a/services/audiopolicy/common/managerdefinitions/include/audio_policy_conf.h
+++ b/services/audiopolicy/common/managerdefinitions/include/audio_policy_conf.h
@@ -16,6 +16,7 @@
#pragma once
+
/////////////////////////////////////////////////
// Definitions for audio policy configuration file (audio_policy.conf)
/////////////////////////////////////////////////
@@ -50,9 +51,9 @@
// "formats" in outputs descriptors indicating that supported
// values should be queried after opening the output.
-#define DEVICES_TAG "devices"
-#define DEVICE_TYPE "type"
-#define DEVICE_ADDRESS "address"
+#define APM_DEVICES_TAG "devices"
+#define APM_DEVICE_TYPE "type"
+#define APM_DEVICE_ADDRESS "address"
#define MIXERS_TAG "mixers"
#define MIXER_TYPE "type"
diff --git a/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp b/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp
index 8004303..0097d69 100644
--- a/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp
+++ b/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp
@@ -142,7 +142,7 @@ status_t HwModule::loadDevice(cnode *root)
audio_devices_t type = AUDIO_DEVICE_NONE;
while (node) {
- if (strcmp(node->name, DEVICE_TYPE) == 0) {
+ if (strcmp(node->name, APM_DEVICE_TYPE) == 0) {
type = ConfigParsingUtils::parseDeviceNames((char *)node->value);
break;
}
@@ -158,7 +158,7 @@ status_t HwModule::loadDevice(cnode *root)
node = root->first_child;
while (node) {
- if (strcmp(node->name, DEVICE_ADDRESS) == 0) {
+ if (strcmp(node->name, APM_DEVICE_ADDRESS) == 0) {
deviceDesc->mAddress = String8((char *)node->value);
} else if (strcmp(node->name, CHANNELS_TAG) == 0) {
if (audio_is_input_device(type)) {
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index aa2e044..797a2b4 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -521,6 +521,10 @@ void AudioPolicyManager::setPhoneState(audio_mode_t state)
}
}
+audio_mode_t AudioPolicyManager::getPhoneState() {
+ return mEngine->getPhoneState();
+}
+
void AudioPolicyManager::setForceUse(audio_policy_force_use_t usage,
audio_policy_forced_cfg_t config)
{
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h
index dcd74f0..02b678a 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.h
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h
@@ -27,6 +27,7 @@
#include <media/AudioPolicy.h>
#include "AudioPolicyInterface.h"
+#include <AudioPolicyManagerInterface.h>
#include <AudioPolicyManagerObserver.h>
#include <AudioGain.h>
#include <AudioPort.h>
@@ -44,8 +45,6 @@
namespace android {
-class AudioPolicyManagerInterface;
-
// ----------------------------------------------------------------------------
// Attenuation applied to STRATEGY_SONIFICATION streams when a headset is connected: 6dB
@@ -284,6 +283,9 @@ protected:
virtual audio_devices_t getDeviceForStrategy(routing_strategy strategy,
bool fromCache);
+ bool isStrategyActive(const sp<AudioOutputDescriptor> outputDesc, routing_strategy strategy,
+ uint32_t inPastMs = 0, nsecs_t sysTime = 0) const;
+
// change the route of the specified output. Returns the number of ms we have slept to
// allow new routing to take effect in certain cases.
virtual uint32_t setOutputDevice(audio_io_handle_t output,
@@ -337,6 +339,8 @@ protected:
// a special tone in the device used for communication
void handleIncallSonification(audio_stream_type_t stream, bool starting, bool stateChange);
+ audio_mode_t getPhoneState();
+
// true if device is in a telephony or VoIP call
virtual bool isInCall();
// true if given state represents a device in a telephony or VoIP call
@@ -523,6 +527,9 @@ protected:
#endif //AUDIO_POLICY_TEST
uint32_t nextAudioPortGeneration();
+
+ // Audio Policy Engine Interface.
+ AudioPolicyManagerInterface *mEngine;
private:
// updates device caching and output for streams that can influence the
// routing of notifications
@@ -566,12 +573,6 @@ private:
audio_policy_dev_state_t state,
const char *device_address,
const char *device_name);
-
- bool isStrategyActive(const sp<AudioOutputDescriptor> outputDesc, routing_strategy strategy,
- uint32_t inPastMs = 0, nsecs_t sysTime = 0) const;
-
- // Audio Policy Engine Interface.
- AudioPolicyManagerInterface *mEngine;
};
};