diff --git a/dsmgr/dsMgrPwrEventListener.c b/dsmgr/dsMgrPwrEventListener.c index ba8f65a2..48e2b866 100644 --- a/dsmgr/dsMgrPwrEventListener.c +++ b/dsmgr/dsMgrPwrEventListener.c @@ -345,21 +345,23 @@ int _SetAVPortsPowerState(PowerController_PowerState_t powerState) dsAudioPortEnabledParam_t setMode; int numPorts, i = 0; - numPorts = dsUTL_DIM(kSupportedPortTypes); + device::List aPorts = device::Host::getInstance().getAudioOutputPorts(); + numPorts = aPorts.size(); + INT_INFO("[%s] Number of Audio Ports: [%d] \r\n", __FUNCTION__, numPorts); for (i = 0; i < numPorts; i++) { - const dsAudioPortType_t *audioPort = &kSupportedPortTypes[i]; - device::AudioOutputPort aPort = device::Host::getInstance().getAudioOutputPort(*audioPort); - memset(&getHandle, 0, sizeof(getHandle)); - getHandle.type = *audioPort; - getHandle.index = 0; - _dsGetAudioPort(&getHandle); - - memset(&setMode, 0, sizeof(setMode)); - setMode.handle = getHandle.handle; - strncpy(setMode.portName, aPort.getName().c_str(), 32); - setMode.enabled = false; - _dsEnableAudioPort(&setMode); + try + { + INT_INFO("[%s] Current Index [%d] \r\n", __FUNCTION__, i); + device::AudioOutputPort aPort = aPorts.at(i); + + INT_INFO("[%s] Audio Port Name: [%s] \r\n", __FUNCTION__, aPort.getName().c_str()); + aPort.disable(); + } + catch (...) + { + INT_DEBUG("[%s] audio port exception at %d\r\n", __FUNCTION__,i); + } } } catch (...) @@ -369,7 +371,6 @@ int _SetAVPortsPowerState(PowerController_PowerState_t powerState) } else { - try { device::List videoPorts = device::Host::getInstance().getVideoOutputPorts(); @@ -383,28 +384,29 @@ int _SetAVPortsPowerState(PowerController_PowerState_t powerState) int numPorts, i = 0; - numPorts = dsUTL_DIM(kSupportedPortTypes); + device::List aPorts = device::Host::getInstance().getAudioOutputPorts(); + numPorts = aPorts.size(); + INT_INFO("[%s] numPorts [%d] \r\n", __FUNCTION__, numPorts); for (i = 0; i < numPorts; i++) { - const dsAudioPortType_t *audioPort = &kSupportedPortTypes[i]; - device::AudioOutputPort aPort = device::Host::getInstance().getAudioOutputPort(*audioPort); - memset(&getHandle, 0, sizeof(getHandle)); - getHandle.type = *audioPort; - getHandle.index = 0; - _dsGetAudioPort(&getHandle); - - memset(&setMode, 0, sizeof(setMode)); - setMode.handle = getHandle.handle; - strncpy(setMode.portName, aPort.getName().c_str(), 32); - setMode.enabled = false; - _dsGetEnablePersist(&setMode); - - if (setMode.enabled == true) + try + { + INT_INFO("[%s] Current Index [%d] \r\n", __FUNCTION__, i); + device::AudioOutputPort aPort = aPorts.at(i); + bool isEnablePersist = aPort.getEnablePersist(); + INT_INFO("[%s] Audio Port Name: [%s] isEnablePersist[%d]\r\n", __FUNCTION__, aPort.getName().c_str(), isEnablePersist); + + if (isEnablePersist) + { + /*Instead of enabling all the audio ports on power transition */ + /*Get the values from persistent storage & update */ + INT_INFO("[%s] Enabling audio ports %d \r\n", __FUNCTION__, powerState); + aPort.enable(); + } + } + catch (...) { - /*Instead of enabling all the audio ports on power transition */ - /*Get the values from persistent storage & update */ - INT_INFO("[%s] Enabling audio ports %d \r\n", __FUNCTION__, powerState); - _dsEnableAudioPort(&setMode); + INT_DEBUG("[%s] Audio port exception at %d \r\n",__FUNCTION__, i); } } if (isEAS == IARM_BUS_SYS_MODE_EAS) @@ -418,7 +420,6 @@ int _SetAVPortsPowerState(PowerController_PowerState_t powerState) { INT_DEBUG("[%s] Audio port exception \r\n",__FUNCTION__); } - } } catch (...) @@ -426,6 +427,7 @@ int _SetAVPortsPowerState(PowerController_PowerState_t powerState) INT_DEBUG("Exception Caught during [%s]\r\n", __FUNCTION__); return 0; } + INT_DEBUG("Exiting [%s]\r\n", __FUNCTION__); return 0; }