Loading media/libaudiohal/impl/Hal2AidlMapper.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -247,6 +247,7 @@ void Hal2AidlMapper::eraseConnectedPort(int32_t portId) { ALOGD("%s: disconnected port replacement: %s", __func__, port.toString().c_str()); mDisconnectedPortReplacement = std::pair<int32_t, AudioPort>(); } updateDynamicMixPorts(); } status_t Hal2AidlMapper::findOrCreatePatch( Loading Loading @@ -1002,6 +1003,9 @@ status_t Hal2AidlMapper::updateAudioPort(int32_t portId, AudioPort* port) { if (status == OK) { auto portIt = mPorts.find(portId); if (portIt != mPorts.end()) { if (port->ext.getTag() == AudioPortExt::Tag::mix && portIt->second != *port) { mDynamicMixPortIds.insert(portId); } portIt->second = *port; } else { ALOGW("%s, port(%d) returned successfully from the HAL but not it is not cached", Loading Loading @@ -1050,4 +1054,15 @@ status_t Hal2AidlMapper::updateRoutes() { return OK; } void Hal2AidlMapper::updateDynamicMixPorts() { for (int32_t portId : mDynamicMixPortIds) { if (auto it = mPorts.find(portId); it != mPorts.end()) { updateAudioPort(portId, &it->second); } else { // This must not happen ALOGE("%s, cannot find port for id=%d", __func__, portId); } } } } // namespace android media/libaudiohal/impl/Hal2AidlMapper.h +2 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,7 @@ class Hal2AidlMapper { status_t updateAudioPort( int32_t portId, ::aidl::android::media::audio::common::AudioPort* port); status_t updateRoutes(); void updateDynamicMixPorts(); Ports mPorts; // Remote submix "template" ports (no address specified, no profiles). Loading @@ -202,6 +203,7 @@ class Hal2AidlMapper { ConnectedPorts mConnectedPorts; std::pair<int32_t, ::aidl::android::media::audio::common::AudioPort> mDisconnectedPortReplacement; std::set<int32_t> mDynamicMixPortIds; }; } // namespace android Loading
media/libaudiohal/impl/Hal2AidlMapper.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -247,6 +247,7 @@ void Hal2AidlMapper::eraseConnectedPort(int32_t portId) { ALOGD("%s: disconnected port replacement: %s", __func__, port.toString().c_str()); mDisconnectedPortReplacement = std::pair<int32_t, AudioPort>(); } updateDynamicMixPorts(); } status_t Hal2AidlMapper::findOrCreatePatch( Loading Loading @@ -1002,6 +1003,9 @@ status_t Hal2AidlMapper::updateAudioPort(int32_t portId, AudioPort* port) { if (status == OK) { auto portIt = mPorts.find(portId); if (portIt != mPorts.end()) { if (port->ext.getTag() == AudioPortExt::Tag::mix && portIt->second != *port) { mDynamicMixPortIds.insert(portId); } portIt->second = *port; } else { ALOGW("%s, port(%d) returned successfully from the HAL but not it is not cached", Loading Loading @@ -1050,4 +1054,15 @@ status_t Hal2AidlMapper::updateRoutes() { return OK; } void Hal2AidlMapper::updateDynamicMixPorts() { for (int32_t portId : mDynamicMixPortIds) { if (auto it = mPorts.find(portId); it != mPorts.end()) { updateAudioPort(portId, &it->second); } else { // This must not happen ALOGE("%s, cannot find port for id=%d", __func__, portId); } } } } // namespace android
media/libaudiohal/impl/Hal2AidlMapper.h +2 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,7 @@ class Hal2AidlMapper { status_t updateAudioPort( int32_t portId, ::aidl::android::media::audio::common::AudioPort* port); status_t updateRoutes(); void updateDynamicMixPorts(); Ports mPorts; // Remote submix "template" ports (no address specified, no profiles). Loading @@ -202,6 +203,7 @@ class Hal2AidlMapper { ConnectedPorts mConnectedPorts; std::pair<int32_t, ::aidl::android::media::audio::common::AudioPort> mDisconnectedPortReplacement; std::set<int32_t> mDynamicMixPortIds; }; } // namespace android