Add support for audio recording source in generic audio policy mgr.
Update the platform-independent audio policy manager to pass the nature of the audio recording source to the audio policy client interface through the AudioPolicyClientInterface::setParameters() method. Change-Id: I6b4fd0f8a3acea0d7d30bbad98edd1977dc012bf
This commit is contained in:
@@ -472,7 +472,7 @@ public:
|
||||
AudioParameter(const String8& keyValuePairs);
|
||||
virtual ~AudioParameter();
|
||||
|
||||
// reserved parameter keys for changeing standard parameters with setParameters() function.
|
||||
// reserved parameter keys for changing standard parameters with setParameters() function.
|
||||
// Using these keys is mandatory for AudioFlinger to properly monitor audio output/input
|
||||
// configuration changes and act accordingly.
|
||||
// keyRouting: to change audio routing, value is an int in AudioSystem::audio_devices
|
||||
@@ -480,11 +480,14 @@ public:
|
||||
// keyFormat: to change audio format, value is an int in AudioSystem::audio_format
|
||||
// keyChannels: to change audio channel configuration, value is an int in AudioSystem::audio_channels
|
||||
// keyFrameCount: to change audio output frame count, value is an int
|
||||
// keyInputSource: to change audio input source, value is an int in audio_source
|
||||
// (defined in media/mediarecorder.h)
|
||||
static const char *keyRouting;
|
||||
static const char *keySamplingRate;
|
||||
static const char *keyFormat;
|
||||
static const char *keyChannels;
|
||||
static const char *keyFrameCount;
|
||||
static const char *keyInputSource;
|
||||
|
||||
String8 toString();
|
||||
|
||||
|
||||
@@ -835,6 +835,7 @@ const char *AudioParameter::keySamplingRate = "sampling_rate";
|
||||
const char *AudioParameter::keyFormat = "format";
|
||||
const char *AudioParameter::keyChannels = "channels";
|
||||
const char *AudioParameter::keyFrameCount = "frame_count";
|
||||
const char *AudioParameter::keyInputSource = "input_source";
|
||||
|
||||
AudioParameter::AudioParameter(const String8& keyValuePairs)
|
||||
{
|
||||
|
||||
@@ -760,10 +760,8 @@ status_t AudioPolicyManagerBase::startInput(audio_io_handle_t input)
|
||||
AudioParameter param = AudioParameter();
|
||||
param.addInt(String8(AudioParameter::keyRouting), (int)inputDesc->mDevice);
|
||||
|
||||
// use Voice Recognition mode or not for this input based on input source
|
||||
int vr_enabled = inputDesc->mInputSource == AUDIO_SOURCE_VOICE_RECOGNITION ? 1 : 0;
|
||||
param.addInt(String8("vr_mode"), vr_enabled);
|
||||
LOGV("AudioPolicyManager::startInput(%d), setting vr_mode to %d", inputDesc->mInputSource, vr_enabled);
|
||||
param.addInt(String8(AudioParameter::keyInputSource), (int)inputDesc->mInputSource);
|
||||
LOGV("AudioPolicyManager::startInput() input source = %d", inputDesc->mInputSource);
|
||||
|
||||
mpClientInterface->setParameters(input, param.toString());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user