19
19
20
20
#include " AVInput.h"
21
21
22
- #include " hdmiIn.hpp"
23
22
#include " compositeIn.hpp"
23
+ #include " hdmiIn.hpp"
24
24
25
25
#include " UtilsJsonRpc.h"
26
26
#include " UtilsIarm.h"
@@ -126,16 +126,21 @@ const string AVInput::Initialize(PluginHost::IShell * /* service */)
126
126
{
127
127
AVInput::_instance = this ;
128
128
try
129
- {
130
- device::Manager::Initialize ();
131
- LOGINFO (" device::Manager::Initialize success" );
132
- registerDsEventHandlers ();
129
+ {
130
+ device::Manager::Initialize ();
131
+ LOGINFO (" device::Manager::Initialize success" );
132
+ if (!_registeredDsEventHandlers) {
133
+ _registeredDsEventHandlers = true ;
134
+ device::Host::getInstance ().Register (baseInterface<device::Host::IHdmiInEvents>(), " WPE::HdmiInEvents" );
135
+ device::Host::getInstance ().Register (baseInterface<device::Host::ICompositeInEvents>(), " WPE::CompositeInEvents" );
133
136
}
137
+ }
134
138
catch (const device::Exception& err)
135
- {
136
- LOGINFO (" device::Manager::Initialize failed" );
137
- LOG_DEVICE_EXCEPTION0 ();
138
- }
139
+ {
140
+ LOGINFO (" device::Manager::Initialize failed" );
141
+ LOG_DEVICE_EXCEPTION0 ();
142
+ return std::string (" AVInput: Initialization failed" );
143
+ }
139
144
140
145
return (string ());
141
146
}
@@ -856,23 +861,6 @@ void AVInput::AVInputVideoModeUpdate( int port , dsVideoPortResolution_t resolut
856
861
857
862
sendNotify (AVINPUT_EVENT_ON_VIDEO_MODE_UPDATED, params);
858
863
}
859
- #if 0
860
- void AVInput::dsAviContentTypeEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len)
861
- {
862
- if(!AVInput::_instance)
863
- return;
864
-
865
- if (IARM_BUS_DSMGR_EVENT_HDMI_IN_AVI_CONTENT_TYPE == eventId)
866
- {
867
- IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data;
868
- int hdmi_in_port = eventData->data.hdmi_in_content_type.port;
869
- int avi_content_type = eventData->data.hdmi_in_content_type.aviContentType;
870
- LOGINFO("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_AVI_CONTENT_TYPE event port: %d, Content Type : %d", hdmi_in_port,avi_content_type);
871
-
872
- AVInput::_instance->hdmiInputAviContentTypeChange(hdmi_in_port, avi_content_type);
873
- }
874
- }
875
- #endif
876
864
877
865
void AVInput::hdmiInputAviContentTypeChange ( int port , int content_type)
878
866
{
@@ -882,132 +870,6 @@ void AVInput::hdmiInputAviContentTypeChange( int port , int content_type)
882
870
sendNotify (AVINPUT_EVENT_ON_AVI_CONTENT_TYPE_CHANGED, params);
883
871
}
884
872
885
- #if 0
886
- void AVInput::dsAVEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len)
887
- {
888
- if(!AVInput::_instance)
889
- return;
890
-
891
- IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data;
892
- if (IARM_BUS_DSMGR_EVENT_HDMI_IN_HOTPLUG == eventId) {
893
- int hdmiin_hotplug_port = eventData->data.hdmi_in_connect.port;
894
- int hdmiin_hotplug_conn = eventData->data.hdmi_in_connect.isPortConnected;
895
- LOGWARN("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_HOTPLUG event data:%d", hdmiin_hotplug_port);
896
- AVInput::_instance->AVInputHotplug(hdmiin_hotplug_port, hdmiin_hotplug_conn ? AV_HOT_PLUG_EVENT_CONNECTED : AV_HOT_PLUG_EVENT_DISCONNECTED, HDMI);
897
- }
898
- else if (IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_HOTPLUG == eventId) {
899
- int compositein_hotplug_port = eventData->data.composite_in_connect.port;
900
- int compositein_hotplug_conn = eventData->data.composite_in_connect.isPortConnected;
901
- LOGWARN("Received IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_HOTPLUG event data:%d", compositein_hotplug_port);
902
- AVInput::_instance->AVInputHotplug(compositein_hotplug_port, compositein_hotplug_conn ? AV_HOT_PLUG_EVENT_CONNECTED : AV_HOT_PLUG_EVENT_DISCONNECTED, COMPOSITE);
903
- }
904
- }
905
-
906
- void AVInput::dsAVSignalStatusEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len)
907
- {
908
- if(!AVInput::_instance)
909
- return;
910
- IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data;
911
- if (IARM_BUS_DSMGR_EVENT_HDMI_IN_SIGNAL_STATUS == eventId) {
912
- int hdmi_in_port = eventData->data.hdmi_in_sig_status.port;
913
- int hdmi_in_signal_status = eventData->data.hdmi_in_sig_status.status;
914
- LOGWARN("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_SIGNAL_STATUS event port: %d, signal status: %d", hdmi_in_port,hdmi_in_signal_status);
915
- AVInput::_instance->AVInputSignalChange(hdmi_in_port, hdmi_in_signal_status, HDMI);
916
- }
917
- else if (IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_SIGNAL_STATUS == eventId) {
918
- int composite_in_port = eventData->data.composite_in_sig_status.port;
919
- int composite_in_signal_status = eventData->data.composite_in_sig_status.status;
920
- LOGWARN("Received IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_SIGNAL_STATUS event port: %d, signal status: %d", composite_in_port,composite_in_signal_status);
921
- AVInput::_instance->AVInputSignalChange(composite_in_port, composite_in_signal_status, COMPOSITE);
922
- }
923
- }
924
-
925
- void AVInput::dsAVStatusEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len)
926
- {
927
- if(!AVInput::_instance)
928
- return;
929
- IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data;
930
- if (IARM_BUS_DSMGR_EVENT_HDMI_IN_STATUS == eventId) {
931
- int hdmi_in_port = eventData->data.hdmi_in_status.port;
932
- bool hdmi_in_status = eventData->data.hdmi_in_status.isPresented;
933
- LOGWARN("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_STATUS event port: %d, started: %d", hdmi_in_port,hdmi_in_status);
934
- AVInput::_instance->AVInputStatusChange(hdmi_in_port, hdmi_in_status, HDMI);
935
- }
936
- else if (IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_STATUS == eventId) {
937
- int composite_in_port = eventData->data.composite_in_status.port;
938
- bool composite_in_status = eventData->data.composite_in_status.isPresented;
939
- LOGWARN("Received IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_STATUS event port: %d, started: %d", composite_in_port,composite_in_status);
940
- AVInput::_instance->AVInputStatusChange(composite_in_port, composite_in_status, COMPOSITE);
941
- }
942
- }
943
-
944
- void AVInput::dsAVVideoModeEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len)
945
- {
946
- if(!AVInput::_instance)
947
- return;
948
-
949
- if (IARM_BUS_DSMGR_EVENT_HDMI_IN_VIDEO_MODE_UPDATE == eventId) {
950
- IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data;
951
- int hdmi_in_port = eventData->data.hdmi_in_video_mode.port;
952
- dsVideoPortResolution_t resolution = {};
953
- resolution.pixelResolution = eventData->data.hdmi_in_video_mode.resolution.pixelResolution;
954
- resolution.interlaced = eventData->data.hdmi_in_video_mode.resolution.interlaced;
955
- resolution.frameRate = eventData->data.hdmi_in_video_mode.resolution.frameRate;
956
- 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);
957
- AVInput::_instance->AVInputVideoModeUpdate(hdmi_in_port, resolution,HDMI);
958
- }
959
- else if (IARM_BUS_DSMGR_EVENT_COMPOSITE_IN_VIDEO_MODE_UPDATE == eventId) {
960
- IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data;
961
- int composite_in_port = eventData->data.composite_in_video_mode.port;
962
- dsVideoPortResolution_t resolution = {};
963
- resolution.pixelResolution = eventData->data.composite_in_video_mode.resolution.pixelResolution;
964
- resolution.interlaced = eventData->data.composite_in_video_mode.resolution.interlaced;
965
- resolution.frameRate = eventData->data.composite_in_video_mode.resolution.frameRate;
966
- 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);
967
- AVInput::_instance->AVInputVideoModeUpdate(composite_in_port, resolution,COMPOSITE);
968
- }
969
- }
970
-
971
- void AVInput::dsAVGameFeatureStatusEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len)
972
- {
973
- if(!AVInput::_instance)
974
- return;
975
-
976
- if (IARM_BUS_DSMGR_EVENT_HDMI_IN_ALLM_STATUS == eventId)
977
- {
978
- IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data;
979
- int hdmi_in_port = eventData->data.hdmi_in_allm_mode.port;
980
- bool allm_mode = eventData->data.hdmi_in_allm_mode.allm_mode;
981
- LOGWARN("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_ALLM_STATUS event port: %d, ALLM Mode: %d", hdmi_in_port,allm_mode);
982
-
983
- AVInput::_instance->AVInputALLMChange(hdmi_in_port, allm_mode);
984
- }
985
- if (IARM_BUS_DSMGR_EVENT_HDMI_IN_VRR_STATUS == eventId)
986
- {
987
- IARM_Bus_DSMgr_EventData_t *eventData = (IARM_Bus_DSMgr_EventData_t *)data;
988
- int hdmi_in_port = eventData->data.hdmi_in_vrr_mode.port;
989
- dsVRRType_t new_vrrType = eventData->data.hdmi_in_vrr_mode.vrr_type;
990
- LOGWARN("Received IARM_BUS_DSMGR_EVENT_HDMI_IN_VRR_STATUS event port: %d, VRR Type: %d", hdmi_in_port,new_vrrType);
991
-
992
- if(new_vrrType == dsVRR_NONE)
993
- {
994
- if(AVInput::_instance->m_currentVrrType != dsVRR_NONE){
995
- AVInput::_instance->AVInputVRRChange(hdmi_in_port, AVInput::_instance->m_currentVrrType, false);
996
- }
997
- }
998
- else
999
- {
1000
- if(AVInput::_instance->m_currentVrrType != dsVRR_NONE){
1001
- AVInput::_instance->AVInputVRRChange(hdmi_in_port, AVInput::_instance->m_currentVrrType, false);
1002
- }
1003
- AVInput::_instance->AVInputVRRChange(hdmi_in_port, new_vrrType, true);
1004
- }
1005
- AVInput::_instance->m_currentVrrType = new_vrrType;
1006
- }
1007
- }
1008
-
1009
- #endif
1010
-
1011
873
void AVInput::AVInputALLMChange ( int port , bool allm_mode)
1012
874
{
1013
875
JsonObject params;
@@ -1729,17 +1591,6 @@ int AVInput::getEdidVersion(int iPort)
1729
1591
return edidVersion;
1730
1592
}
1731
1593
1732
- void AVInput::registerDsEventHandlers ()
1733
- {
1734
- LOGINFO (" registerDsEventHandlers" );
1735
- if (!_registeredDsEventHandlers)
1736
- {
1737
- _registeredDsEventHandlers = true ;
1738
- device::Host::getInstance ().Register (baseInterface<device::Host::IHdmiInEvents>());
1739
- device::Host::getInstance ().Register (baseInterface<device::Host::ICompositeInEvents>());
1740
- }
1741
- }
1742
-
1743
1594
/* HDMIInEventsNotification*/
1744
1595
1745
1596
void AVInput::OnHdmiInAVIContentType (dsHdmiInPort_t port, dsAviContentType_t aviContentType)
0 commit comments