Loading services/audiopolicy/engine/common/include/ProductStrategy.h +4 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,10 @@ public: bool isDefault() const; bool isPatchStrategy() const { return getVolumeGroupForStreamType(AUDIO_STREAM_PATCH) != VOLUME_GROUP_NONE; } void dump(String8 *dst, int spaces = 0) const; private: Loading services/audiopolicy/engine/common/src/EngineBase.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -311,6 +311,9 @@ StrategyVector EngineBase::getOrderedProductStrategies() const } StrategyVector orderedStrategies; for (const auto &iter : strategies) { if (iter.second->isPatchStrategy()) { continue; } orderedStrategies.push_back(iter.second->getId()); } return orderedStrategies; Loading Loading @@ -742,6 +745,9 @@ void EngineBase::initializeDeviceSelectionCache() { auto defaultDevices = DeviceVector(getApmObserver()->getDefaultOutputDevice()); for (const auto &iter : getProductStrategies()) { const auto &strategy = iter.second; if (strategy->isPatchStrategy()) { continue; } mDevicesForStrategies[strategy->getId()] = defaultDevices; setStrategyDevices(strategy, defaultDevices); } Loading @@ -750,6 +756,9 @@ void EngineBase::initializeDeviceSelectionCache() { void EngineBase::updateDeviceSelectionCache() { for (const auto &iter : getProductStrategies()) { const auto& strategy = iter.second; if (strategy->isPatchStrategy()) { continue; } auto devices = getDevicesForProductStrategy(strategy->getId()); mDevicesForStrategies[strategy->getId()] = devices; setStrategyDevices(strategy, devices); Loading services/audiopolicy/managerdefault/AudioPolicyManager.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -3496,6 +3496,11 @@ status_t AudioPolicyManager::setVolumeIndexForAttributes(const audio_attributes_ } ALOGV("%s: group %d matching with %s index %d", __FUNCTION__, group, toString(attributes).c_str(), index); if (mEngine->getStreamTypeForAttributes(attributes) == AUDIO_STREAM_PATCH) { ALOGV("%s: cannot change volume for PATCH stream, attrs: %s", __FUNCTION__, toString(attributes).c_str()); return NO_ERROR; } status_t status = NO_ERROR; IVolumeCurves &curves = getVolumeCurves(attributes); VolumeSource vs = toVolumeSource(group); Loading Loading
services/audiopolicy/engine/common/include/ProductStrategy.h +4 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,10 @@ public: bool isDefault() const; bool isPatchStrategy() const { return getVolumeGroupForStreamType(AUDIO_STREAM_PATCH) != VOLUME_GROUP_NONE; } void dump(String8 *dst, int spaces = 0) const; private: Loading
services/audiopolicy/engine/common/src/EngineBase.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -311,6 +311,9 @@ StrategyVector EngineBase::getOrderedProductStrategies() const } StrategyVector orderedStrategies; for (const auto &iter : strategies) { if (iter.second->isPatchStrategy()) { continue; } orderedStrategies.push_back(iter.second->getId()); } return orderedStrategies; Loading Loading @@ -742,6 +745,9 @@ void EngineBase::initializeDeviceSelectionCache() { auto defaultDevices = DeviceVector(getApmObserver()->getDefaultOutputDevice()); for (const auto &iter : getProductStrategies()) { const auto &strategy = iter.second; if (strategy->isPatchStrategy()) { continue; } mDevicesForStrategies[strategy->getId()] = defaultDevices; setStrategyDevices(strategy, defaultDevices); } Loading @@ -750,6 +756,9 @@ void EngineBase::initializeDeviceSelectionCache() { void EngineBase::updateDeviceSelectionCache() { for (const auto &iter : getProductStrategies()) { const auto& strategy = iter.second; if (strategy->isPatchStrategy()) { continue; } auto devices = getDevicesForProductStrategy(strategy->getId()); mDevicesForStrategies[strategy->getId()] = devices; setStrategyDevices(strategy, devices); Loading
services/audiopolicy/managerdefault/AudioPolicyManager.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -3496,6 +3496,11 @@ status_t AudioPolicyManager::setVolumeIndexForAttributes(const audio_attributes_ } ALOGV("%s: group %d matching with %s index %d", __FUNCTION__, group, toString(attributes).c_str(), index); if (mEngine->getStreamTypeForAttributes(attributes) == AUDIO_STREAM_PATCH) { ALOGV("%s: cannot change volume for PATCH stream, attrs: %s", __FUNCTION__, toString(attributes).c_str()); return NO_ERROR; } status_t status = NO_ERROR; IVolumeCurves &curves = getVolumeCurves(attributes); VolumeSource vs = toVolumeSource(group); Loading