|
|
|
@ -73,10 +73,18 @@ bool ProductStrategy::matches(const audio_attributes_t attr) const
|
|
|
|
|
audio_stream_type_t ProductStrategy::getStreamTypeForAttributes(
|
|
|
|
|
const audio_attributes_t &attr) const
|
|
|
|
|
{
|
|
|
|
|
const auto iter = std::find_if(begin(mAttributesVector), end(mAttributesVector),
|
|
|
|
|
const auto &iter = std::find_if(begin(mAttributesVector), end(mAttributesVector),
|
|
|
|
|
[&attr](const auto &supportedAttr) {
|
|
|
|
|
return AudioProductStrategy::attributesMatches(supportedAttr.mAttributes, attr); });
|
|
|
|
|
return iter != end(mAttributesVector) ? iter->mStream : AUDIO_STREAM_DEFAULT;
|
|
|
|
|
if (iter == end(mAttributesVector)) {
|
|
|
|
|
return AUDIO_STREAM_DEFAULT;
|
|
|
|
|
}
|
|
|
|
|
audio_stream_type_t streamType = iter->mStream;
|
|
|
|
|
ALOGW_IF(streamType == AUDIO_STREAM_DEFAULT,
|
|
|
|
|
"%s: Strategy %s supporting attributes %s has not stream type associated"
|
|
|
|
|
"fallback on MUSIC. Do not use stream volume API", __func__, mName.c_str(),
|
|
|
|
|
toString(attr).c_str());
|
|
|
|
|
return streamType != AUDIO_STREAM_DEFAULT ? streamType : AUDIO_STREAM_MUSIC;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
audio_attributes_t ProductStrategy::getAttributesForStreamType(audio_stream_type_t streamType) const
|
|
|
|
|