audio: add call assistant usage

Add audio usage for call assistant use cases.
Used by apps playing over call uplink path for call
screening or other in call assitant features.
Add corresponding routing strategy in audio policy manager.
The strategy reuses volume group "PATCH" as volume is fixed
for call uplink audio.

Bug: 135213843
Test: make
Change-Id: Iad34c058e96fa5c969e825d3ddb0a82a60accc76
gugelfrei
Eric Laurent 5 years ago
parent 42afea265a
commit 21777f8781

@ -358,6 +358,7 @@ const UsageTypeConverter::Table UsageTypeConverter::mTable[] = {
MAKE_STRING_FROM_ENUM(AUDIO_USAGE_GAME),
MAKE_STRING_FROM_ENUM(AUDIO_USAGE_VIRTUAL_SOURCE),
MAKE_STRING_FROM_ENUM(AUDIO_USAGE_ASSISTANT),
MAKE_STRING_FROM_ENUM(AUDIO_USAGE_CALL_ASSISTANT),
TERMINATOR
};

@ -107,6 +107,13 @@ const engineConfig::ProductStrategies gOrderedStrategies = {
}
},
},
{"STRATEGY_CALL_ASSISTANT",
{
{"", AUDIO_STREAM_PATCH, "AUDIO_STREAM_PATCH",
{{AUDIO_CONTENT_TYPE_UNKNOWN, AUDIO_USAGE_CALL_ASSISTANT, AUDIO_SOURCE_DEFAULT, 0, ""}}
}
},
},
{"STRATEGY_TRANSMITTED_THROUGH_SPEAKER",
{
{"", AUDIO_STREAM_TTS, "AUDIO_STREAM_TTS",

@ -53,6 +53,7 @@ static const std::vector<legacy_strategy_map> gLegacyStrategy = {
{ "STRATEGY_ACCESSIBILITY", STRATEGY_ACCESSIBILITY },
{ "STRATEGY_REROUTING", STRATEGY_REROUTING },
{ "STRATEGY_PATCH", STRATEGY_REROUTING }, // boiler to manage stream patch volume
{ "STRATEGY_CALL_ASSISTANT", STRATEGY_CALL_ASSISTANT },
};
Engine::Engine()
@ -443,6 +444,10 @@ DeviceVector Engine::getDevicesForStrategyInt(legacy_strategy strategy,
}
} break;
case STRATEGY_CALL_ASSISTANT:
devices = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_TELEPHONY_TX);
break;
default:
ALOGW("getDevicesForStrategy() unknown strategy: %d", strategy);
break;

@ -39,6 +39,7 @@ enum legacy_strategy {
STRATEGY_TRANSMITTED_THROUGH_SPEAKER,
STRATEGY_ACCESSIBILITY,
STRATEGY_REROUTING,
STRATEGY_CALL_ASSISTANT,
};
class Engine : public EngineBase

@ -6113,6 +6113,7 @@ bool AudioPolicyManager::isValidAttributes(const audio_attributes_t *paa)
case AUDIO_USAGE_GAME:
case AUDIO_USAGE_VIRTUAL_SOURCE:
case AUDIO_USAGE_ASSISTANT:
case AUDIO_USAGE_CALL_ASSISTANT:
break;
default:
return false;

Loading…
Cancel
Save