diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f24687d..e60fb2bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,17 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.3.5](https://github.com/rdkcentral/entservices-inputoutput/compare/1.3.4...1.3.5) + +- RDKEMW-6230: Retry logic used dsGetHDMIARCPortId in HdmiCecSink [`#203`](https://github.com/rdkcentral/entservices-inputoutput/pull/203) +- Merge tag '1.3.4' into develop [`760ee0f`](https://github.com/rdkcentral/entservices-inputoutput/commit/760ee0f9da46e0b0ed2e2adb4523bfec85c5a927) + #### [1.3.4](https://github.com/rdkcentral/entservices-inputoutput/compare/1.3.3...1.3.4) +> 22 July 2025 + - RDKEMW-6279: Revert of HdmiCecSink comrpc changes (#129) [`#199`](https://github.com/rdkcentral/entservices-inputoutput/pull/199) +- RDKEMW-6279 - Changelog updates for 1.3.4 [`8a6fd55`](https://github.com/rdkcentral/entservices-inputoutput/commit/8a6fd55be4c187be3c725d2ca6512720bd6c018b) - Merge tag '1.3.3' into develop [`7abaec3`](https://github.com/rdkcentral/entservices-inputoutput/commit/7abaec32ed58c36ef05640ca9baaf8077b90a5d5) #### [1.3.3](https://github.com/rdkcentral/entservices-inputoutput/compare/1.3.2...1.3.3) diff --git a/HdmiCecSink/HdmiCecSink.cpp b/HdmiCecSink/HdmiCecSink.cpp index b5150cf8..ecb5415e 100644 --- a/HdmiCecSink/HdmiCecSink.cpp +++ b/HdmiCecSink/HdmiCecSink.cpp @@ -3531,15 +3531,25 @@ namespace WPEFramework { int err; dsGetHDMIARCPortIdParam_t param; - err = IARM_Bus_Call(IARM_BUS_DSMGR_NAME, - (char *)IARM_BUS_DSMGR_API_dsGetHDMIARCPortId, - (void *)¶m, - sizeof(param)); - if (IARM_RESULT_SUCCESS == err) - { - LOGINFO("HDMI ARC port ID HdmiArcPortID=[%d] \n", param.portId); - HdmiArcPortID = param.portId; - } + unsigned int retryCount = 1; + do { + usleep(50000); // Sleep for 50ms before retrying + param.portId = -1; // Initialize to an invalid port ID + err = IARM_Bus_Call(IARM_BUS_DSMGR_NAME, + (char *)IARM_BUS_DSMGR_API_dsGetHDMIARCPortId, + (void *)¶m, + sizeof(param)); + if (IARM_RESULT_SUCCESS == err) + { + LOGINFO("HDMI ARC port ID HdmiArcPortID[%d] on retry count[%d]", param.portId, retryCount); + HdmiArcPortID = param.portId; + break; + } + else + { + LOGWARN("IARM_Bus_Call failed with error[%d], retry count[%d]", err, retryCount); + } + } while(retryCount++ <= 6); } void HdmiCecSink::getCecVersion() diff --git a/Tests/L1Tests/tests/test_HdmiCecSink.cpp b/Tests/L1Tests/tests/test_HdmiCecSink.cpp index 38631077..22df165c 100755 --- a/Tests/L1Tests/tests/test_HdmiCecSink.cpp +++ b/Tests/L1Tests/tests/test_HdmiCecSink.cpp @@ -23,8 +23,6 @@ #include -#include "HdmiCecSinkImplementation.h" -#include "HdmiCecSinkMock.h" #include "HdmiCecSink.h" #include "FactoriesImplementation.h" #include "IarmBusMock.h"