diff --git a/.github/workflows/L1-tests.yml b/.github/workflows/L1-tests.yml index cc031231..033c6e74 100755 --- a/.github/workflows/L1-tests.yml +++ b/.github/workflows/L1-tests.yml @@ -123,7 +123,7 @@ jobs: with: repository: rdkcentral/entservices-testframework path: entservices-testframework - ref: develop + ref: ds_manager_mocks token: ${{ secrets.RDKCM_RDKE }} - name: Checkout entservices-inputoutput diff --git a/.github/workflows/tests-trigger.yml b/.github/workflows/tests-trigger.yml index bb3de6af..af86e349 100755 --- a/.github/workflows/tests-trigger.yml +++ b/.github/workflows/tests-trigger.yml @@ -4,7 +4,7 @@ name: main-workflow on: push: - branches: [ main, develop, 'sprint/**', 'release/**' ] + branches: [ main, develop, 'sprint/**', 'release/**' , feature/ds-manager_AVInput] pull_request: branches: [ main, develop, 'sprint/**', 'release/**' ] diff --git a/AVInput/AVInput.cpp b/AVInput/AVInput.cpp index c7586702..05f2ab1b 100644 --- a/AVInput/AVInput.cpp +++ b/AVInput/AVInput.cpp @@ -18,13 +18,12 @@ **/ #include "AVInput.h" -#include "dsMgr.h" -#include "hdmiIn.hpp" + #include "compositeIn.hpp" +#include "hdmiIn.hpp" #include "UtilsJsonRpc.h" #include "UtilsIarm.h" -#include "host.hpp" #include "exception.hpp" #include @@ -81,9 +80,9 @@ using namespace std; int getTypeOfInput(string sType) { int iType = -1; - if (strcmp (sType.c_str(), "HDMI") == 0) + if (0 == strcmp (sType.c_str(), "HDMI")) iType = HDMI; - else if (strcmp (sType.c_str(), "COMPOSITE") ==0) + else if (0 == strcmp (sType.c_str(), "COMPOSITE")) iType = COMPOSITE; else throw "Invalide type of INPUT, please specify HDMI/COMPOSITE"; @@ -113,6 +112,7 @@ AVInput* AVInput::_instance = nullptr; AVInput::AVInput() : PluginHost::JSONRPC() + , _registeredDsEventHandlers(false) { RegisterAll(); } @@ -125,14 +125,42 @@ AVInput::~AVInput() const string AVInput::Initialize(PluginHost::IShell * /* service */) { AVInput::_instance = this; - InitializeIARM(); + try + { + device::Manager::Initialize(); + LOGINFO("device::Manager::Initialize success"); + if (!_registeredDsEventHandlers) { + _registeredDsEventHandlers = true; + device::Host::getInstance().Register(baseInterface(), "WPE::AVInputHdmi"); + device::Host::getInstance().Register(baseInterface(), "WPE::AVInputComp"); + } + } + catch(const device::Exception& err) + { + LOGINFO("AVInput: Initialization failed due to device::manager::Initialize()"); + LOG_DEVICE_EXCEPTION0(); + } return (string()); } void AVInput::Deinitialize(PluginHost::IShell * /* service */) { - DeinitializeIARM(); + + device::Host::getInstance().UnRegister(baseInterface()); + device::Host::getInstance().UnRegister(baseInterface()); + _registeredDsEventHandlers = false; + try + { + device::Manager::DeInitialize(); + LOGINFO("device::Manager::DeInitialize success"); + } + catch(const device::Exception& err) + { + LOGINFO("device::Manager::DeInitialize failed due to device::Manager::DeInitialize()"); + LOG_DEVICE_EXCEPTION0(); + } + AVInput::_instance = nullptr; } @@ -141,97 +169,6 @@ string AVInput::Information() const return (string()); } -void AVInput::InitializeIARM() -{ - if (Utils::IARM::init()) { - IARM_Result_t res; - IARM_CHECK(IARM_Bus_RegisterEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_HOTPLUG, - dsAVEventHandler)); - IARM_CHECK(IARM_Bus_RegisterEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_SIGNAL_STATUS, - dsAVSignalStatusEventHandler)); - IARM_CHECK(IARM_Bus_RegisterEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_STATUS, - dsAVStatusEventHandler)); - IARM_CHECK(IARM_Bus_RegisterEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, - dsAVVideoModeEventHandler)); - IARM_CHECK(IARM_Bus_RegisterEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_ALLM_STATUS, - dsAVGameFeatureStatusEventHandler)); - IARM_CHECK(IARM_Bus_RegisterEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_VRR_STATUS, - dsAVGameFeatureStatusEventHandler)); - IARM_CHECK(IARM_Bus_RegisterEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_HOTPLUG, - dsAVEventHandler)); - IARM_CHECK(IARM_Bus_RegisterEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_SIGNAL_STATUS, - dsAVSignalStatusEventHandler)); - IARM_CHECK(IARM_Bus_RegisterEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_STATUS, - dsAVStatusEventHandler)); - IARM_CHECK(IARM_Bus_RegisterEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_VIDEO_MODE_UPDATE, - dsAVVideoModeEventHandler)); - IARM_CHECK(IARM_Bus_RegisterEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_AVI_CONTENT_TYPE, - dsAviContentTypeEventHandler)); - } -} - -void AVInput::DeinitializeIARM() -{ - if (Utils::IARM::isConnected()) { - IARM_Result_t res; - IARM_CHECK(IARM_Bus_RemoveEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_HOTPLUG, dsAVEventHandler)); - IARM_CHECK(IARM_Bus_RemoveEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_SIGNAL_STATUS, dsAVSignalStatusEventHandler)); - IARM_CHECK(IARM_Bus_RemoveEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_STATUS, dsAVStatusEventHandler)); - IARM_CHECK(IARM_Bus_RemoveEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, dsAVVideoModeEventHandler)); - IARM_CHECK(IARM_Bus_RemoveEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_ALLM_STATUS, dsAVGameFeatureStatusEventHandler)); - IARM_CHECK(IARM_Bus_RemoveEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_VRR_STATUS, dsAVGameFeatureStatusEventHandler)); - IARM_CHECK(IARM_Bus_RemoveEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_HOTPLUG, dsAVEventHandler)); - IARM_CHECK(IARM_Bus_RemoveEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_SIGNAL_STATUS, dsAVSignalStatusEventHandler)); - IARM_CHECK(IARM_Bus_RemoveEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_STATUS, dsAVStatusEventHandler)); - IARM_CHECK(IARM_Bus_RemoveEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_VIDEO_MODE_UPDATE, dsAVVideoModeEventHandler)); - IARM_CHECK(IARM_Bus_RemoveEventHandler( - IARM_BUS_DSMGR_NAME, - IARM_BUS_DSMGR_EVENT_HDMI_IN_AVI_CONTENT_TYPE, dsAviContentTypeEventHandler)); - } -} - void AVInput::RegisterAll() { Register(_T(AVINPUT_METHOD_NUMBER_OF_INPUTS), &AVInput::endpoint_numberOfInputs, this); @@ -404,7 +341,7 @@ uint32_t AVInput::startInput(const JsonObject& parameters, JsonObject& response) try { - if (iType == HDMI) { + if (HDMI == iType) { device::HdmiInput::getInstance().selectPort(portId,audioMix,planeType,topMostPlane); } else if(iType == COMPOSITE) { @@ -445,10 +382,10 @@ uint32_t AVInput::stopInput(const JsonObject& parameters, JsonObject& response) device::Host::getInstance().setAudioMixerLevels(dsAUDIO_INPUT_SYSTEM,DEFAULT_INPUT_VOL_LEVEL); isAudioBalanceSet = false; } - if (iType == HDMI) { + if (HDMI == iType) { device::HdmiInput::getInstance().selectPort(-1); } - else if (iType == COMPOSITE) { + else if (COMPOSITE == iType) { device::CompositeInput::getInstance().selectPort(-1); } } @@ -526,7 +463,7 @@ bool AVInput::setVideoRectangle(int x, int y, int width, int height, int type) try { - if (type == HDMI) { + if (HDMI == type) { device::HdmiInput::getInstance().scaleVideo(x, y, width, height); } else { @@ -616,7 +553,7 @@ JsonArray AVInput::getInputDevices(int iType) try { int num = 0; - if (iType == HDMI) { + if (HDMI == iType) { num = device::HdmiInput::getInstance().getNumberOfInputs(); } else if (iType == COMPOSITE) { @@ -629,11 +566,11 @@ JsonArray AVInput::getInputDevices(int iType) JsonObject hash; hash["id"] = i; std::stringstream locator; - if (iType == HDMI) { + if (HDMI == iType) { locator << "hdmiin://localhost/deviceid/" << i; hash["connected"] = device::HdmiInput::getInstance().isPortConnected(i); } - else if (iType == COMPOSITE) { + else if (COMPOSITE == iType) { locator << "cvbsin://localhost/deviceid/" << i; hash["connected"] = device::CompositeInput::getInstance().isPortConnected(i); } @@ -924,22 +861,6 @@ void AVInput::AVInputVideoModeUpdate( int port , dsVideoPortResolution_t resolut sendNotify(AVINPUT_EVENT_ON_VIDEO_MODE_UPDATED, params); } -void AVInput::dsAviContentTypeEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len) -{ - if(!AVInput::_instance) - return; - - if (IARM_BUS_DSMGR_EVENT_HDMI_IN_AVI_CONTENT_TYPE == eventId) - { - IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data; - int hdmi_in_port = eventData->data.hdmi_in_content_type.port; - int avi_content_type = eventData->data.hdmi_in_content_type.aviContentType; - LOGINFO("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_AVI_CONTENT_TYPE event port: %d, Content Type : %d", hdmi_in_port,avi_content_type); - - AVInput::_instance->hdmiInputAviContentTypeChange(hdmi_in_port, avi_content_type); - } -} - void AVInput::hdmiInputAviContentTypeChange( int port , int content_type) { JsonObject params; @@ -948,129 +869,6 @@ void AVInput::hdmiInputAviContentTypeChange( int port , int content_type) sendNotify(AVINPUT_EVENT_ON_AVI_CONTENT_TYPE_CHANGED, params); } -void AVInput::dsAVEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len) -{ - if(!AVInput::_instance) - return; - - IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data; - if (IARM_BUS_DSMGR_EVENT_HDMI_IN_HOTPLUG == eventId) { - int hdmiin_hotplug_port = eventData->data.hdmi_in_connect.port; - int hdmiin_hotplug_conn = eventData->data.hdmi_in_connect.isPortConnected; - LOGWARN("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_HOTPLUG event data:%d", hdmiin_hotplug_port); - AVInput::_instance->AVInputHotplug(hdmiin_hotplug_port, hdmiin_hotplug_conn ? AV_HOT_PLUG_EVENT_CONNECTED : AV_HOT_PLUG_EVENT_DISCONNECTED, HDMI); - } - else if (IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_HOTPLUG == eventId) { - int compositein_hotplug_port = eventData->data.composite_in_connect.port; - int compositein_hotplug_conn = eventData->data.composite_in_connect.isPortConnected; - LOGWARN("Received IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_HOTPLUG event data:%d", compositein_hotplug_port); - AVInput::_instance->AVInputHotplug(compositein_hotplug_port, compositein_hotplug_conn ? AV_HOT_PLUG_EVENT_CONNECTED : AV_HOT_PLUG_EVENT_DISCONNECTED, COMPOSITE); - } -} - -void AVInput::dsAVSignalStatusEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len) -{ - if(!AVInput::_instance) - return; - IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data; - if (IARM_BUS_DSMGR_EVENT_HDMI_IN_SIGNAL_STATUS == eventId) { - int hdmi_in_port = eventData->data.hdmi_in_sig_status.port; - int hdmi_in_signal_status = eventData->data.hdmi_in_sig_status.status; - LOGWARN("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_SIGNAL_STATUS event port: %d, signal status: %d", hdmi_in_port,hdmi_in_signal_status); - AVInput::_instance->AVInputSignalChange(hdmi_in_port, hdmi_in_signal_status, HDMI); - } - else if (IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_SIGNAL_STATUS == eventId) { - int composite_in_port = eventData->data.composite_in_sig_status.port; - int composite_in_signal_status = eventData->data.composite_in_sig_status.status; - LOGWARN("Received IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_SIGNAL_STATUS event port: %d, signal status: %d", composite_in_port,composite_in_signal_status); - AVInput::_instance->AVInputSignalChange(composite_in_port, composite_in_signal_status, COMPOSITE); - } -} - -void AVInput::dsAVStatusEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len) -{ - if(!AVInput::_instance) - return; - IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data; - if (IARM_BUS_DSMGR_EVENT_HDMI_IN_STATUS == eventId) { - int hdmi_in_port = eventData->data.hdmi_in_status.port; - bool hdmi_in_status = eventData->data.hdmi_in_status.isPresented; - LOGWARN("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_STATUS event port: %d, started: %d", hdmi_in_port,hdmi_in_status); - AVInput::_instance->AVInputStatusChange(hdmi_in_port, hdmi_in_status, HDMI); - } - else if (IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_STATUS == eventId) { - int composite_in_port = eventData->data.composite_in_status.port; - bool composite_in_status = eventData->data.composite_in_status.isPresented; - LOGWARN("Received IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_STATUS event port: %d, started: %d", composite_in_port,composite_in_status); - AVInput::_instance->AVInputStatusChange(composite_in_port, composite_in_status, COMPOSITE); - } -} - -void AVInput::dsAVVideoModeEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len) -{ - if(!AVInput::_instance) - return; - - if (IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE == eventId) { - IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data; - int hdmi_in_port = eventData->data.hdmi_in_video_mode.port; - dsVideoPortResolution_t resolution = {}; - resolution.pixelResolution = eventData->data.hdmi_in_video_mode.resolution.pixelResolution; - resolution.interlaced = eventData->data.hdmi_in_video_mode.resolution.interlaced; - resolution.frameRate = eventData->data.hdmi_in_video_mode.resolution.frameRate; - LOGWARN("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE event port: %d, pixelResolution: %d, interlaced : %d, frameRate: %d \n", hdmi_in_port,resolution.pixelResolution, resolution.interlaced, resolution.frameRate); - AVInput::_instance->AVInputVideoModeUpdate(hdmi_in_port, resolution,HDMI); - } - else if (IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_VIDEO_MODE_UPDATE == eventId) { - IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data; - int composite_in_port = eventData->data.composite_in_video_mode.port; - dsVideoPortResolution_t resolution = {}; - resolution.pixelResolution = eventData->data.composite_in_video_mode.resolution.pixelResolution; - resolution.interlaced = eventData->data.composite_in_video_mode.resolution.interlaced; - resolution.frameRate = eventData->data.composite_in_video_mode.resolution.frameRate; - LOGWARN("Received IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_VIDEO_MODE_UPDATE event port: %d, pixelResolution: %d, interlaced : %d, frameRate: %d \n", composite_in_port,resolution.pixelResolution, resolution.interlaced, resolution.frameRate); - AVInput::_instance->AVInputVideoModeUpdate(composite_in_port, resolution,COMPOSITE); - } -} - -void AVInput::dsAVGameFeatureStatusEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len) -{ - if(!AVInput::_instance) - return; - - if (IARM_BUS_DSMGR_EVENT_HDMI_IN_ALLM_STATUS == eventId) - { - IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data; - int hdmi_in_port = eventData->data.hdmi_in_allm_mode.port; - bool allm_mode = eventData->data.hdmi_in_allm_mode.allm_mode; - LOGWARN("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_ALLM_STATUS event port: %d, ALLM Mode: %d", hdmi_in_port,allm_mode); - - AVInput::_instance->AVInputALLMChange(hdmi_in_port, allm_mode); - } - if (IARM_BUS_DSMGR_EVENT_HDMI_IN_VRR_STATUS == eventId) - { - IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data; - int hdmi_in_port = eventData->data.hdmi_in_vrr_mode.port; - dsVRRType_t new_vrrType = eventData->data.hdmi_in_vrr_mode.vrr_type; - LOGWARN("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_VRR_STATUS event port: %d, VRR Type: %d", hdmi_in_port,new_vrrType); - - if(new_vrrType == dsVRR_NONE) - { - if(AVInput::_instance->m_currentVrrType != dsVRR_NONE){ - AVInput::_instance->AVInputVRRChange(hdmi_in_port, AVInput::_instance->m_currentVrrType, false); - } - } - else - { - if(AVInput::_instance->m_currentVrrType != dsVRR_NONE){ - AVInput::_instance->AVInputVRRChange(hdmi_in_port, AVInput::_instance->m_currentVrrType, false); - } - AVInput::_instance->AVInputVRRChange(hdmi_in_port, new_vrrType, true); - } - AVInput::_instance->m_currentVrrType = new_vrrType; - } -} - void AVInput::AVInputALLMChange( int port , bool allm_mode) { JsonObject params; @@ -1792,5 +1590,135 @@ int AVInput::getEdidVersion(int iPort) return edidVersion; } +/* HDMIInEventsNotification*/ + +void AVInput::OnHdmiInAVIContentType(dsHdmiInPort_t port, dsAviContentType_t aviContentType) +{ + LOGINFO("Received OnHdmiInAVIContentType callback, port: %d, Content Type: %d", port, aviContentType); + + if(AVInput::_instance) { + AVInput::_instance->hdmiInputAviContentTypeChange(port, aviContentType); + } +} + +void AVInput::OnHdmiInEventHotPlug(dsHdmiInPort_t port, bool isConnected) +{ + LOGINFO("Received OnHdmiInEventHotPlug callback, port: %d, isConnected: %s", port, isConnected ? "true" : "false"); + + if(AVInput::_instance) { + AVInput::_instance->AVInputHotplug(port,isConnected ? AV_HOT_PLUG_EVENT_CONNECTED : AV_HOT_PLUG_EVENT_DISCONNECTED, HDMI); + } +} + +void AVInput::OnHdmiInEventSignalStatus(dsHdmiInPort_t port, dsHdmiInSignalStatus_t signalStatus) +{ + LOGINFO("Received OnHdmiInEventSignalStatus callback, port: %d, signalStatus: %d",port, signalStatus); + + if(AVInput::_instance) { + AVInput::_instance->AVInputSignalChange(port, signalStatus, HDMI); + } +} + +void AVInput::OnHdmiInEventStatus(dsHdmiInPort_t activePort, bool isPresented) +{ + LOGINFO("Received OnHdmiInEventStatus callback, port: %d, isPresented: %s",activePort, isPresented ? "true" : "false"); + + if (AVInput::_instance) { + AVInput::_instance->AVInputStatusChange(activePort, isPresented, HDMI); + } +} + +void AVInput::OnHdmiInVideoModeUpdate(dsHdmiInPort_t port, const dsVideoPortResolution_t& videoPortResolution) +{ + LOGINFO("Received OnHdmiInVideoModeUpdate callback, port: %d, pixelResolution: %d, interlaced: %d, frameRate: %d", + port, + videoPortResolution.pixelResolution, + videoPortResolution.interlaced, + videoPortResolution.frameRate); + + if (AVInput::_instance) { + AVInput::_instance->AVInputVideoModeUpdate(port, videoPortResolution, HDMI); + } +} + +void AVInput::OnHdmiInAllmStatus(dsHdmiInPort_t port, bool allmStatus) +{ + LOGINFO("Received OnHdmiInAllmStatus callback, port: %d, ALLM Mode: %s", + port, allmStatus ? "true" : "false"); + + if (AVInput::_instance) { + AVInput::_instance->AVInputALLMChange(port, allmStatus); + } +} + +void AVInput::OnHdmiInVRRStatus(dsHdmiInPort_t port, dsVRRType_t vrrType) +{ + LOGINFO("Received OnHdmiInVRRStatus callback, port: %d, VRR Type: %d", + port, vrrType); + + if (!AVInput::_instance) + return; + + // Handle transitions + if (dsVRR_NONE == vrrType) { + if (AVInput::_instance->m_currentVrrType != dsVRR_NONE) { + AVInput::_instance->AVInputVRRChange(port,AVInput::_instance->m_currentVrrType,false); + } + } else { + if (AVInput::_instance->m_currentVrrType != dsVRR_NONE) { + AVInput::_instance->AVInputVRRChange(port,AVInput::_instance->m_currentVrrType,false); + } + AVInput::_instance->AVInputVRRChange(port,vrrType,true); + } + + AVInput::_instance->m_currentVrrType = vrrType; +} + + +/*CompositeInEventsNotification*/ + +void AVInput::OnCompositeInHotPlug(dsCompositeInPort_t port, bool isConnected) +{ + LOGINFO("Received OnCompositeInHotPlug callback, port: %d, isConnected: %s",port, isConnected ? "true" : "false"); + + if(AVInput::_instance) { + AVInput::_instance->AVInputHotplug(port,isConnected ? AV_HOT_PLUG_EVENT_CONNECTED : AV_HOT_PLUG_EVENT_DISCONNECTED,COMPOSITE); + } +} + +void AVInput::OnCompositeInSignalStatus(dsCompositeInPort_t port, dsCompInSignalStatus_t signalStatus) +{ + LOGINFO("Received OnCompositeInSignalStatus callback, port: %d, signalStatus: %d",port, signalStatus); + + if(AVInput::_instance) { + AVInput::_instance->AVInputSignalChange(port, signalStatus, COMPOSITE); + } +} + +void AVInput::OnCompositeInStatus(dsCompositeInPort_t activePort, bool isPresented) +{ + LOGINFO("Received OnCompositeInStatus callback, port: %d, isPresented: %s", + activePort, isPresented ? "true" : "false"); + + if (AVInput::_instance) { + AVInput::_instance->AVInputStatusChange(activePort, isPresented, COMPOSITE); + } +} + +void AVInput::OnCompositeInVideoModeUpdate(dsCompositeInPort_t activePort, dsVideoPortResolution_t videoResolution) +{ + LOGINFO("Received OnCompositeInVideoModeUpdate callback, port: %d, pixelResolution: %d, interlaced: %d, frameRate: %d", + activePort, + videoResolution.pixelResolution, + videoResolution.interlaced, + videoResolution.frameRate); + + if (AVInput::_instance) { + AVInput::_instance->AVInputVideoModeUpdate(activePort, videoResolution, COMPOSITE); + } +} + + + } // namespace Plugin } // namespace WPEFramework diff --git a/AVInput/AVInput.h b/AVInput/AVInput.h index b6c86142..aec54372 100644 --- a/AVInput/AVInput.h +++ b/AVInput/AVInput.h @@ -21,7 +21,10 @@ #include "Module.h" #include "libIBus.h" + #include "dsTypes.h" +#include "host.hpp" +#include "manager.hpp" #define DEFAULT_PRIM_VOL_LEVEL 25 #define MAX_PRIM_VOL_LEVEL 100 @@ -30,9 +33,13 @@ namespace WPEFramework { namespace Plugin { -class AVInput: public PluginHost::IPlugin, public PluginHost::JSONRPC -{ +class AVInput: public PluginHost::IPlugin, + public PluginHost::JSONRPC, + public device::Host::IHdmiInEvents, + public device::Host::ICompositeInEvents{ + private: + AVInput(const AVInput &) = delete; AVInput &operator=(const AVInput &) = delete; @@ -45,6 +52,15 @@ class AVInput: public PluginHost::IPlugin, public PluginHost::JSONRPC INTERFACE_ENTRY(PluginHost::IDispatcher) END_INTERFACE_MAP +private: + + template + T* baseInterface() + { + static_assert(std::is_base_of(), "base type mismatch"); + return static_cast(this); + } + int m_primVolume; int m_inputVolume; //Player Volume @@ -57,9 +73,7 @@ class AVInput: public PluginHost::IPlugin, public PluginHost::JSONRPC virtual string Information() const override; protected: - void InitializeIARM(); - void DeinitializeIARM(); - + void RegisterAll(); void UnregisterAll(); @@ -124,6 +138,30 @@ class AVInput: public PluginHost::IPlugin, public PluginHost::JSONRPC void hdmiInputAviContentTypeChange(int port, int content_type); static void dsAviContentTypeEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len); + +private: + + bool _registeredDsEventHandlers; + +public: + + /* HdmiInEventNotification*/ + + void OnHdmiInEventHotPlug(dsHdmiInPort_t port, bool isConnected) override; + void OnHdmiInEventSignalStatus(dsHdmiInPort_t port, dsHdmiInSignalStatus_t signalStatus) override; + void OnHdmiInEventStatus(dsHdmiInPort_t activePort, bool isPresented) override; + void OnHdmiInVideoModeUpdate(dsHdmiInPort_t port, const dsVideoPortResolution_t& videoPortResolution) override; + void OnHdmiInAllmStatus(dsHdmiInPort_t port, bool allmStatus) override; + void OnHdmiInAVIContentType(dsHdmiInPort_t port, dsAviContentType_t aviContentType) override; + void OnHdmiInVRRStatus(dsHdmiInPort_t port, dsVRRType_t vrrType) override; + + /* CompositeInEventNotification */ + + void OnCompositeInHotPlug(dsCompositeInPort_t port, bool isConnected) override; + void OnCompositeInSignalStatus(dsCompositeInPort_t port, dsCompInSignalStatus_t signalStatus) override; + void OnCompositeInStatus(dsCompositeInPort_t activePort, bool isPresented) override; + void OnCompositeInVideoModeUpdate(dsCompositeInPort_t activePort, dsVideoPortResolution_t videoResolution) override; + public: static AVInput* _instance; }; diff --git a/Tests/L1Tests/tests/test_AVInput.cpp b/Tests/L1Tests/tests/test_AVInput.cpp index 0d0be6bd..771e73b7 100644 --- a/Tests/L1Tests/tests/test_AVInput.cpp +++ b/Tests/L1Tests/tests/test_AVInput.cpp @@ -24,6 +24,7 @@ #include "CompositeInputMock.h" #include "FactoriesImplementation.h" #include "HdmiInputMock.h" +#include "ManagerMock.h" #include "HostMock.h" #include "IarmBusMock.h" #include "ServiceMock.h" @@ -54,12 +55,6 @@ class AVInputDsTest : public AVInputTest { HdmiInputImplMock* p_hdmiInputImplMock = nullptr; CompositeInputImplMock* p_compositeInputImplMock = nullptr; HostImplMock* p_HostImplMock = nullptr; - IARM_EventHandler_t dsAVGameFeatureStatusEventHandler; - IARM_EventHandler_t dsAVEventHandler; - IARM_EventHandler_t dsAVSignalStatusEventHandler; - IARM_EventHandler_t dsAVStatusEventHandler; - IARM_EventHandler_t dsAVVideoModeEventHandler; - IARM_EventHandler_t dsAviContentTypeEventHandler; AVInputDsTest() : AVInputTest() @@ -100,6 +95,7 @@ class AVInputInit : public AVInputDsTest { protected: IarmBusImplMock* p_iarmBusImplMock = nullptr; NiceMock factoriesImplementation; + ManagerImplMock *p_managerImplMock = nullptr ; PLUGINHOST_DISPATCHER* dispatcher; NiceMock service; Core::JSONRPC::Message message; @@ -110,55 +106,13 @@ class AVInputInit : public AVInputDsTest { p_iarmBusImplMock = new NiceMock; IarmBus::setImpl(p_iarmBusImplMock); - ON_CALL(*p_iarmBusImplMock, IARM_Bus_RegisterEventHandler(::testing::_, ::testing::_, ::testing::_)) - .WillByDefault(::testing::Invoke( - [&](const char* ownerName, IARM_EventId_t eventId, IARM_EventHandler_t handler) { - if ((string(IARM_BUS_DSMGR_NAME) == string(ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_HDMI_IN_HOTPLUG)) { - EXPECT_TRUE(handler != nullptr); - dsAVEventHandler = handler; - } - if ((string(IARM_BUS_DSMGR_NAME) == string(ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_HDMI_IN_STATUS)) { - EXPECT_TRUE(handler != nullptr); - dsAVStatusEventHandler = handler; - } - if ((string(IARM_BUS_DSMGR_NAME) == string(ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_HDMI_IN_SIGNAL_STATUS)) { - EXPECT_TRUE(handler != nullptr); - dsAVSignalStatusEventHandler = handler; - } - if ((string(IARM_BUS_DSMGR_NAME) == string(ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE)) { - EXPECT_TRUE(handler != nullptr); - dsAVVideoModeEventHandler = handler; - } - if ((string(IARM_BUS_DSMGR_NAME) == string(ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_HDMI_IN_ALLM_STATUS)) { - EXPECT_TRUE(handler != nullptr); - dsAVGameFeatureStatusEventHandler = handler; - } - if ((string(IARM_BUS_DSMGR_NAME) == string(ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_HDMI_IN_VRR_STATUS)) { - EXPECT_TRUE(handler != nullptr); - dsAVGameFeatureStatusEventHandler = handler; - } - if ((string(IARM_BUS_DSMGR_NAME) == string(ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_HOTPLUG)) { - EXPECT_TRUE(handler != nullptr); - dsAVEventHandler = handler; - } - if ((string(IARM_BUS_DSMGR_NAME) == string(ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_SIGNAL_STATUS)) { - EXPECT_TRUE(handler != nullptr); - dsAVSignalStatusEventHandler = handler; - } - if ((string(IARM_BUS_DSMGR_NAME) == string(ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_STATUS)) { - EXPECT_TRUE(handler != nullptr); - dsAVStatusEventHandler = handler; - } - if ((string(IARM_BUS_DSMGR_NAME) == string(ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_VIDEO_MODE_UPDATE)) { - EXPECT_TRUE(handler != nullptr); - dsAVVideoModeEventHandler = handler; - } - if ((string(IARM_BUS_DSMGR_NAME) == string(ownerName)) && (eventId == IARM_BUS_DSMGR_EVENT_HDMI_IN_AVI_CONTENT_TYPE)) { - EXPECT_TRUE(handler != nullptr); - dsAviContentTypeEventHandler = handler; - } - return IARM_RESULT_SUCCESS; - })); + p_managerImplMock = new NiceMock ; + device::Manager::setImpl(p_managerImplMock); + + EXPECT_CALL(*p_managerImplMock, Initialize()) + .Times(::testing::AnyNumber()) + .WillRepeatedly(::testing::Return()); + EXPECT_EQ(string(""), plugin->Initialize(&service)); PluginHost::IFactories::Assign(&factoriesImplementation); @@ -180,6 +134,12 @@ class AVInputInit : public AVInputDsTest { delete p_iarmBusImplMock; p_iarmBusImplMock = nullptr; } + device::Manager::setImpl(nullptr); + if (p_managerImplMock != nullptr) + { + delete p_managerImplMock; + p_managerImplMock = nullptr; + } } }; @@ -615,11 +575,7 @@ TEST_F(AVInputInit, onDevicesChangedHDMI) EVENT_SUBSCRIBE(0, _T("onDevicesChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_connect.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_connect.isPortConnected = true; - dsAVEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_HOTPLUG, &eventData, 0); + plugin->OnHdmiInEventHotPlug(dsHDMI_IN_PORT_0, true); EXPECT_EQ(Core::ERROR_NONE, onDevicesChanged.Lock()); @@ -645,11 +601,7 @@ TEST_F(AVInputInit, onDevicesChangedCOMPOSITE) EVENT_SUBSCRIBE(0, _T("onDevicesChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.composite_in_connect.port = dsCOMPOSITE_IN_PORT_0; - eventData.data.composite_in_connect.isPortConnected = true; - dsAVEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_HOTPLUG, &eventData, 0); + plugin->OnCompositeInHotPlug(dsCOMPOSITE_IN_PORT_0, true); EXPECT_EQ(Core::ERROR_NONE, onDevicesChanged.Lock()); @@ -676,11 +628,7 @@ TEST_F(AVInputInit, onSignalChangedStableHDMI) EVENT_SUBSCRIBE(0, _T("onSignalChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_sig_status.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_sig_status.status = dsHDMI_IN_SIGNAL_STATUS_STABLE; - dsAVSignalStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_SIGNAL_STATUS, &eventData, 0); + plugin->OnHdmiInEventSignalStatus(dsHDMI_IN_PORT_0, dsHDMI_IN_SIGNAL_STATUS_STABLE); EXPECT_EQ(Core::ERROR_NONE, onSignalChanged.Lock()); @@ -706,12 +654,8 @@ TEST_F(AVInputInit, onSignalChangedNoSignalHDMI) })); EVENT_SUBSCRIBE(0, _T("onSignalChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_sig_status.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_sig_status.status = dsHDMI_IN_SIGNAL_STATUS_NOSIGNAL; - dsAVSignalStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_SIGNAL_STATUS, &eventData, 0); + plugin->OnHdmiInEventSignalStatus(dsHDMI_IN_PORT_0, dsHDMI_IN_SIGNAL_STATUS_NOSIGNAL); EXPECT_EQ(Core::ERROR_NONE, onSignalChanged.Lock()); @@ -737,12 +681,8 @@ TEST_F(AVInputInit, onSignalChangedUnstableHDMI) })); EVENT_SUBSCRIBE(0, _T("onSignalChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_sig_status.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_sig_status.status = dsHDMI_IN_SIGNAL_STATUS_UNSTABLE; - dsAVSignalStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_SIGNAL_STATUS, &eventData, 0); + plugin->OnHdmiInEventSignalStatus(dsHDMI_IN_PORT_0,dsHDMI_IN_SIGNAL_STATUS_UNSTABLE); EXPECT_EQ(Core::ERROR_NONE, onSignalChanged.Lock()); @@ -767,12 +707,8 @@ TEST_F(AVInputInit, onSignalChangedNotSupportedHDMI) })); EVENT_SUBSCRIBE(0, _T("onSignalChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_sig_status.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_sig_status.status = dsHDMI_IN_SIGNAL_STATUS_NOTSUPPORTED; - dsAVSignalStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_SIGNAL_STATUS, &eventData, 0); + plugin->OnHdmiInEventSignalStatus(dsHDMI_IN_PORT_0, dsHDMI_IN_SIGNAL_STATUS_NOTSUPPORTED); EXPECT_EQ(Core::ERROR_NONE, onSignalChanged.Lock()); @@ -797,12 +733,7 @@ TEST_F(AVInputInit, onSignalChangedDefaultHDMI) })); EVENT_SUBSCRIBE(0, _T("onSignalChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_sig_status.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_sig_status.status = dsHDMI_IN_SIGNAL_STATUS_MAX; - dsAVSignalStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_SIGNAL_STATUS, &eventData, 0); + plugin->OnHdmiInEventSignalStatus(dsHDMI_IN_PORT_0, dsHDMI_IN_SIGNAL_STATUS_MAX); EXPECT_EQ(Core::ERROR_NONE, onSignalChanged.Lock()); @@ -827,12 +758,7 @@ TEST_F(AVInputInit, onSignalChangedStableCOMPOSITE) })); EVENT_SUBSCRIBE(0, _T("onSignalChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.composite_in_sig_status.port = dsCOMPOSITE_IN_PORT_0; - eventData.data.composite_in_sig_status.status = dsCOMP_IN_SIGNAL_STATUS_STABLE; - dsAVSignalStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_SIGNAL_STATUS, &eventData, 0); + plugin->OnCompositeInSignalStatus(dsCOMPOSITE_IN_PORT_0, dsCOMP_IN_SIGNAL_STATUS_STABLE); EXPECT_EQ(Core::ERROR_NONE, onSignalChanged.Lock()); @@ -857,12 +783,8 @@ TEST_F(AVInputInit, onSignalChangedNoSignalCOMPOSITE) })); EVENT_SUBSCRIBE(0, _T("onSignalChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.composite_in_sig_status.port = dsCOMPOSITE_IN_PORT_0; - eventData.data.composite_in_sig_status.status = dsCOMP_IN_SIGNAL_STATUS_NOSIGNAL; - dsAVSignalStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_SIGNAL_STATUS, &eventData, 0); + plugin->OnCompositeInSignalStatus(dsCOMPOSITE_IN_PORT_0, dsCOMP_IN_SIGNAL_STATUS_NOSIGNAL); EXPECT_EQ(Core::ERROR_NONE, onSignalChanged.Lock()); @@ -887,12 +809,8 @@ TEST_F(AVInputInit, onSignalChangedUnstableCOMPOSITE) })); EVENT_SUBSCRIBE(0, _T("onSignalChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.composite_in_sig_status.port = dsCOMPOSITE_IN_PORT_0; - eventData.data.composite_in_sig_status.status = dsCOMP_IN_SIGNAL_STATUS_UNSTABLE; - dsAVSignalStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_SIGNAL_STATUS, &eventData, 0); + plugin->OnCompositeInSignalStatus(dsCOMPOSITE_IN_PORT_0, dsCOMP_IN_SIGNAL_STATUS_UNSTABLE); EXPECT_EQ(Core::ERROR_NONE, onSignalChanged.Lock()); @@ -917,12 +835,7 @@ TEST_F(AVInputInit, onSignalChangedNotSupportedCOMPOSITE) })); EVENT_SUBSCRIBE(0, _T("onSignalChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.composite_in_sig_status.port = dsCOMPOSITE_IN_PORT_0; - eventData.data.composite_in_sig_status.status = dsCOMP_IN_SIGNAL_STATUS_NOTSUPPORTED; - dsAVSignalStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_SIGNAL_STATUS, &eventData, 0); + plugin->OnCompositeInSignalStatus(dsCOMPOSITE_IN_PORT_0, dsCOMP_IN_SIGNAL_STATUS_NOTSUPPORTED); EXPECT_EQ(Core::ERROR_NONE, onSignalChanged.Lock()); @@ -947,12 +860,7 @@ TEST_F(AVInputInit, onSignalChangedDefaultCOMPOSITE) })); EVENT_SUBSCRIBE(0, _T("onSignalChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.composite_in_sig_status.port = dsCOMPOSITE_IN_PORT_0; - eventData.data.composite_in_sig_status.status = dsCOMP_IN_SIGNAL_STATUS_MAX; - dsAVSignalStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_SIGNAL_STATUS, &eventData, 0); + plugin->OnCompositeInSignalStatus(dsCOMPOSITE_IN_PORT_0, dsCOMP_IN_SIGNAL_STATUS_MAX); EXPECT_EQ(Core::ERROR_NONE, onSignalChanged.Lock()); @@ -977,15 +885,11 @@ TEST_F(AVInputInit, onInputStatusChangeOn_HDMI) })); EVENT_SUBSCRIBE(0, _T("onInputStatusChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); EXPECT_EQ(Core::ERROR_NONE, handler.Invoke(connection, _T("startInput"), _T("{\"portId\": \"0\" , \"typeOfInput\":\"HDMI\", \"requestAudioMix\": true, \"plane\" : 1, \"topMost\" : true}"), response)); EXPECT_EQ(response, string("{\"success\":true}")); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_status.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_status.isPresented = true; - dsAVStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_STATUS, &eventData, 0); + plugin->OnHdmiInEventStatus(dsHDMI_IN_PORT_0, true); EXPECT_EQ(Core::ERROR_NONE, onInputStatusChanged.Lock()); @@ -1010,15 +914,12 @@ TEST_F(AVInputInit, onInputStatusChangeOff_HDMI) })); EVENT_SUBSCRIBE(0, _T("onInputStatusChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); + EXPECT_EQ(Core::ERROR_NONE, handler.Invoke(connection, _T("stopInput"), _T("{\"typeOfInput\":\"HDMI\"}"), response)); EXPECT_EQ(response, string("{\"success\":true}")); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_status.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_status.isPresented = false; + plugin->OnHdmiInEventStatus(dsHDMI_IN_PORT_0, false); - dsAVStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_STATUS, &eventData, 0); EXPECT_EQ(Core::ERROR_NONE, onInputStatusChanged.Lock()); @@ -1043,14 +944,10 @@ TEST_F(AVInputInit, onInputStatusChangeOn_COMPOSITE) })); EVENT_SUBSCRIBE(0, _T("onInputStatusChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); EXPECT_EQ(Core::ERROR_NONE, handler.Invoke(connection, _T("startInput"), _T("{\"portId\": \"0\" , \"typeOfInput\":\"COMPOSITE\", \"requestAudioMix\": true, \"plane\" : 1, \"topMost\" : true}"), response)); EXPECT_EQ(response, string("{\"success\":true}")); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.composite_in_status.port = dsCOMPOSITE_IN_PORT_0; - eventData.data.composite_in_status.isPresented = true; - dsAVStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_STATUS, &eventData, 0); + plugin->OnCompositeInStatus(dsCOMPOSITE_IN_PORT_0, true); EXPECT_EQ(Core::ERROR_NONE, onInputStatusChanged.Lock()); @@ -1075,14 +972,10 @@ TEST_F(AVInputInit, onInputStatusChangeOff_COMPOSITE) })); EVENT_SUBSCRIBE(0, _T("onInputStatusChanged"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); EXPECT_EQ(Core::ERROR_NONE, handler.Invoke(connection, _T("stopInput"), _T("{\"typeOfInput\":\"COMPOSITE\"}"), response)); EXPECT_EQ(response, string("{\"success\":true}")); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.composite_in_status.port = dsCOMPOSITE_IN_PORT_0; - eventData.data.composite_in_status.isPresented = false; - dsAVStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_STATUS, &eventData, 0); + plugin->OnCompositeInStatus(dsCOMPOSITE_IN_PORT_0, false); EXPECT_EQ(Core::ERROR_NONE, onInputStatusChanged.Lock()); @@ -1107,12 +1000,8 @@ TEST_F(AVInputInit, hdmiGameFeatureStatusUpdate) })); EVENT_SUBSCRIBE(0, _T("gameFeatureStatusUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_allm_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_allm_mode.allm_mode = true; - dsAVGameFeatureStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_ALLM_STATUS, &eventData, 0); + plugin->OnHdmiInAllmStatus(dsHDMI_IN_PORT_0,true); EXPECT_EQ(Core::ERROR_NONE, gameFeatureStatusUpdate.Lock()); @@ -1137,12 +1026,8 @@ TEST_F(AVInputInit, hdmiGameFeatureStatusUpdate_HDMI_VRR) })); EVENT_SUBSCRIBE(0, _T("gameFeatureStatusUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_vrr_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_vrr_mode.vrr_type = dsVRR_HDMI_VRR; - dsAVGameFeatureStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VRR_STATUS, &eventData, 0); + plugin->OnHdmiInVRRStatus(dsHDMI_IN_PORT_0,dsVRR_HDMI_VRR); EXPECT_EQ(Core::ERROR_NONE, gameFeatureStatusUpdate.Lock()); @@ -1167,12 +1052,8 @@ TEST_F(AVInputInit, hdmiGameFeatureStatusUpdate_AMD_FREESYNC) })); EVENT_SUBSCRIBE(0, _T("gameFeatureStatusUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_vrr_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_vrr_mode.vrr_type = dsVRR_AMD_FREESYNC; - dsAVGameFeatureStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VRR_STATUS, &eventData, 0); + plugin->OnHdmiInVRRStatus(dsHDMI_IN_PORT_0, dsVRR_AMD_FREESYNC); EXPECT_EQ(Core::ERROR_NONE, gameFeatureStatusUpdate.Lock()); @@ -1197,12 +1078,8 @@ TEST_F(AVInputInit, hdmiGameFeatureStatusUpdate_AMD_FREESYNC_PREMIUM) })); EVENT_SUBSCRIBE(0, _T("gameFeatureStatusUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_vrr_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_vrr_mode.vrr_type = dsVRR_AMD_FREESYNC_PREMIUM; - dsAVGameFeatureStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VRR_STATUS, &eventData, 0); + + plugin->OnHdmiInVRRStatus(dsHDMI_IN_PORT_0, dsVRR_AMD_FREESYNC_PREMIUM); EXPECT_EQ(Core::ERROR_NONE, gameFeatureStatusUpdate.Lock()); @@ -1227,12 +1104,8 @@ TEST_F(AVInputInit, hdmiGameFeatureStatusUpdate_AMD_FREESYNC_PREMIUM_PRO) })); EVENT_SUBSCRIBE(0, _T("gameFeatureStatusUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_vrr_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_vrr_mode.vrr_type = dsVRR_AMD_FREESYNC_PREMIUM_PRO; - dsAVGameFeatureStatusEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VRR_STATUS, &eventData, 0); + plugin->OnHdmiInVRRStatus(dsHDMI_IN_PORT_0, dsVRR_AMD_FREESYNC_PREMIUM_PRO); EXPECT_EQ(Core::ERROR_NONE, gameFeatureStatusUpdate.Lock()); @@ -1257,14 +1130,13 @@ TEST_F(AVInputInit, videoStreamInfoUpdate1_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_1920x1080; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_59dot94; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_1920x1080; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_59dot94; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0,videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1289,14 +1161,13 @@ TEST_F(AVInputInit, videoStreamInfoUpdate2_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_720x480; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_24; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_720x480; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_24; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1321,14 +1192,13 @@ TEST_F(AVInputInit, videoStreamInfoUpdate3_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_720x576; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_25; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_720x576; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_25; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1353,14 +1223,14 @@ TEST_F(AVInputInit, videoStreamInfoUpdate4_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_3840x2160; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_30; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_3840x2160; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_30; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1385,15 +1255,14 @@ TEST_F(AVInputInit, videoStreamInfoUpdate5_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_4096x2160; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_50; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_4096x2160; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_50; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); EVENT_UNSUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); @@ -1417,14 +1286,14 @@ TEST_F(AVInputInit, videoStreamInfoUpdate6_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); + + dsVideoPortResolution_t videoPortResolution; + + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_4096x2160; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_60; - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_4096x2160; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_60; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1449,14 +1318,14 @@ TEST_F(AVInputInit, videoStreamInfoUpdate7_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_4096x2160; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_23dot98; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_4096x2160; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_23dot98; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1481,14 +1350,14 @@ TEST_F(AVInputInit, videoStreamInfoUpdate8_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_4096x2160; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_29dot97; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_4096x2160; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_29dot97; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1513,14 +1382,14 @@ TEST_F(AVInputInit, videoStreamInfoUpdate9_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_29dot97; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + + dsVideoPortResolution_t videoPortResolution; + + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_29dot97; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1545,14 +1414,14 @@ TEST_F(AVInputInit, videoStreamInfoUpdate10_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_100; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_100; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1577,14 +1446,14 @@ TEST_F(AVInputInit, videoStreamInfoUpdate11_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_119dot88; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_119dot88; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1609,14 +1478,14 @@ TEST_F(AVInputInit, videoStreamInfoUpdate12_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_120; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_120; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1641,14 +1510,14 @@ TEST_F(AVInputInit, videoStreamInfoUpdate13_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_200; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_200; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1673,14 +1542,14 @@ TEST_F(AVInputInit, videoStreamInfoUpdate14_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_239dot76; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_239dot76; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1705,14 +1574,14 @@ TEST_F(AVInputInit, videoStreamInfoUpdate15_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_240; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_1280x720; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_240; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1737,14 +1606,14 @@ TEST_F(AVInputInit, videoStreamInfoUpdateDefault_HDMI) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_video_mode.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_MAX; - eventData.data.hdmi_in_video_mode.resolution.interlaced = true; - eventData.data.hdmi_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_MAX; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_MAX; + videoPortResolution.interlaced = true; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_MAX; + + plugin->OnHdmiInVideoModeUpdate(dsHDMI_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1770,13 +1639,12 @@ TEST_F(AVInputInit, videoStreamInfoUpdate1_COMPOSITE) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.composite_in_video_mode.port = dsCOMPOSITE_IN_PORT_0; - eventData.data.composite_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_720x480; - eventData.data.composite_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_24; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_720x480; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_24; + + plugin->OnCompositeInVideoModeUpdate(dsCOMPOSITE_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1802,13 +1670,12 @@ TEST_F(AVInputInit, videoStreamInfoUpdate2_COMPOSITE) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.composite_in_video_mode.port = dsCOMPOSITE_IN_PORT_0; - eventData.data.composite_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_720x576; - eventData.data.composite_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_25; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_720x576; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_25; + + plugin->OnCompositeInVideoModeUpdate(dsCOMPOSITE_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1833,13 +1700,12 @@ TEST_F(AVInputInit, videoStreamInfoUpdateDefault_COMPOSITE) })); EVENT_SUBSCRIBE(0, _T("videoStreamInfoUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.composite_in_video_mode.port = dsCOMPOSITE_IN_PORT_0; - eventData.data.composite_in_video_mode.resolution.pixelResolution = dsVIDEO_PIXELRES_MAX; - eventData.data.composite_in_video_mode.resolution.frameRate = dsVIDEO_FRAMERATE_MAX; - dsAVVideoModeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_VIDEO_MODE_UPDATE, &eventData, 0); + dsVideoPortResolution_t videoPortResolution; + videoPortResolution.pixelResolution = dsVIDEO_PIXELRES_MAX; + videoPortResolution.frameRate = dsVIDEO_FRAMERATE_MAX; + + plugin->OnCompositeInVideoModeUpdate(dsCOMPOSITE_IN_PORT_0, videoPortResolution); EXPECT_EQ(Core::ERROR_NONE, videoStreamInfoUpdate.Lock()); @@ -1863,13 +1729,9 @@ TEST_F(AVInputInit, aviContentTypeUpdate_HDMI) return Core::ERROR_NONE; })); - EVENT_SUBSCRIBE(0, _T("aviContentTypeUpdate"), _T("org.rdk.AVInput"), message); - ASSERT_TRUE(dsAVSignalStatusEventHandler != nullptr); + EVENT_SUBSCRIBE(0, _T("aviContentTypeUpdate"), _T("org.rdk.AVInput"), message); - IARM_Bus_DSMgr_EventData_t eventData; - eventData.data.hdmi_in_content_type.port = dsHDMI_IN_PORT_0; - eventData.data.hdmi_in_content_type.aviContentType = dsAVICONTENT_TYPE_GRAPHICS; - dsAviContentTypeEventHandler(IARM_BUS_DSMGR_NAME, IARM_BUS_DSMGR_EVENT_HDMI_IN_AVI_CONTENT_TYPE, &eventData, 0); + plugin->OnHdmiInAVIContentType(dsHDMI_IN_PORT_0, dsAVICONTENT_TYPE_GRAPHICS); EXPECT_EQ(Core::ERROR_NONE, aviContentTypeUpdate.Lock());