diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 44d88ffc..34fef272 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2,4 +2,4 @@ # the repo. Unless a later match takes precedence, # @global-owner1 and @global-owner2 will be requested for # review when someone opens a pull request. -* @rdkcentral/rdke_ghec_devicesetting_maintainer @rdkcentral/rdke_ghec_devicesetting_admin +* @rdkcentral/devicesettings-maintainers diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f9145d3..74c35ec5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,10 +4,32 @@ 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.0.21](https://github.com/rdkcentral/devicesettings/compare/1.0.21...1.0.21) + +- RDKEMW-9411:TV information not telemetry friendly [`#163`](https://github.com/rdkcentral/devicesettings/pull/163) +- Update CODEOWNERS [`#161`](https://github.com/rdkcentral/devicesettings/pull/161) +- Merge tag '1.0.21' into develop [`2c97d46`](https://github.com/rdkcentral/devicesettings/commit/2c97d46c936691b45c3265b05da65976ddb6aef0) + +#### [1.0.21](https://github.com/rdkcentral/devicesettings/compare/1.0.20...1.0.21) + +> 9 October 2025 + +- RDKEMW-8254: handled mute for ARC port [`#151`](https://github.com/rdkcentral/devicesettings/pull/151) +- RDKEMW-8665: Init time reference for cond wait API call [`#156`](https://github.com/rdkcentral/devicesettings/pull/156) +- RDKEMW-8787: Driver splash screen optimizations [`#153`](https://github.com/rdkcentral/devicesettings/pull/153) +- Deploy fossid_integration_stateless_diffscan_target_repo action [`#152`](https://github.com/rdkcentral/devicesettings/pull/152) +- Deploy cla action [`#124`](https://github.com/rdkcentral/devicesettings/pull/124) +- RDKEMW-8316: Add getHDMIARCPortId API in LibdsClient [`#145`](https://github.com/rdkcentral/devicesettings/pull/145) +- 1.0.21 release change log updates [`e2e586c`](https://github.com/rdkcentral/devicesettings/commit/e2e586cb43068363fd7a8236f97ba7b760e31e8e) +- Merge tag '1.0.20' into develop [`b8246d2`](https://github.com/rdkcentral/devicesettings/commit/b8246d21e1fdd0774739553db5cc576a0df10399) + #### [1.0.20](https://github.com/rdkcentral/devicesettings/compare/1.0.19...1.0.20) +> 17 September 2025 + - RDKEMW-7967: Adding retry logic for dsFPInit [`#144`](https://github.com/rdkcentral/devicesettings/pull/144) - RDKEMW-6149: Implementation of IARM libds event notification APIs [`#121`](https://github.com/rdkcentral/devicesettings/pull/121) +- 1.0.20 release change log updates [`8c82428`](https://github.com/rdkcentral/devicesettings/commit/8c82428087b9221d7d46af2baef470c541cb3827) - Merge tag '1.0.19' into develop [`07e4869`](https://github.com/rdkcentral/devicesettings/commit/07e486905ceda01173cd74ab46de5e40b0391577) #### [1.0.19](https://github.com/rdkcentral/devicesettings/compare/1.0.18...1.0.19) diff --git a/rpc/srv/dsAudio.c b/rpc/srv/dsAudio.c index 90b1504a..b41b8874 100755 --- a/rpc/srv/dsAudio.c +++ b/rpc/srv/dsAudio.c @@ -3257,6 +3257,11 @@ IARM_Result_t _dsSetAudioMute(void *arg) INT_DEBUG("%s: port: %s , persist audio mute: %s\n",__func__,"HEADPHONE0", param->mute ? "TRUE" : "FALSE"); device::HostPersistence::getInstance().persistHostProperty("HEADPHONE0.audio.mute", _mute); break; + case dsAUDIOPORT_TYPE_HDMI_ARC: + INT_DEBUG("%s: port: %s , persist audio mute: %s\n",__func__,"HDMI_ARC0", param->mute ? "TRUE" : "FALSE"); + device::HostPersistence::getInstance().persistHostProperty("HDMI_ARC0.audio.mute", _mute); + break; + default: break; } @@ -3279,15 +3284,15 @@ IARM_Result_t _dsIsAudioMute(void *arg) dsAudioSetMutedParam_t *param = (dsAudioSetMutedParam_t *)arg; bool muted = false; - + dsError_t ret = dsIsAudioMute(param->handle, &muted); - if (ret == dsERR_NONE) { + dsAudioPortType_t _APortType = _GetAudioPortType(param->handle); + if (ret == dsERR_NONE || (_APortType == dsAUDIOPORT_TYPE_HDMI_ARC)) { param->mute = muted; #ifdef DS_AUDIO_SETTINGS_PERSISTENCE std::string isMuteKey(""); std::string _mute("FALSE"); - dsAudioPortType_t _APortType = _GetAudioPortType(param->handle); switch(_APortType) { case dsAUDIOPORT_TYPE_SPDIF: isMuteKey.append("SPDIF0.audio.mute"); @@ -3301,6 +3306,9 @@ IARM_Result_t _dsIsAudioMute(void *arg) case dsAUDIOPORT_TYPE_HEADPHONE: isMuteKey.append("HEADPHONE0.audio.mute"); break; + case dsAUDIOPORT_TYPE_HDMI_ARC: + isMuteKey.append("HDMI_ARC0.audio.mute"); + break; default: break; } @@ -3312,6 +3320,7 @@ IARM_Result_t _dsIsAudioMute(void *arg) _mute = "FALSE"; } if ("TRUE" == _mute) { + INT_INFO("%s: param mute to true \n", __FUNCTION__); param->mute = true; } INT_DEBUG("%s: persist value:%s for :%s\n", __FUNCTION__, _mute.c_str(), isMuteKey.c_str()); @@ -7080,11 +7089,11 @@ static void* persist_audioLevel_timer_threadFunc(void* arg) { INT_DEBUG("%s Audio level persistence update timer thread running...\n",__func__); struct timespec ts; while(1){ - clock_gettime(CLOCK_REALTIME, &ts); - ts.tv_sec += 5; pthread_mutex_lock(&audioLevelMutex); while(!audioLevel_timer_set){ + clock_gettime(CLOCK_REALTIME, &ts); + ts.tv_sec += 5; int rc = pthread_cond_timedwait(&audioLevelTimerCV, &audioLevelMutex, &ts); if (rc == ETIMEDOUT) continue; diff --git a/rpc/srv/dsDisplay.c b/rpc/srv/dsDisplay.c index f7d5395c..982a8b57 100644 --- a/rpc/srv/dsDisplay.c +++ b/rpc/srv/dsDisplay.c @@ -629,11 +629,10 @@ static void filterEDIDResolution(intptr_t handle, dsDisplayEDID_t *edid) static void dumpEDIDInformation( dsDisplayEDID_t *edid) { - printf("[DsMgr]dumpEDIDInformation: Product:%x SN:%x Year:%d Week:%d Monitor:%s Type:%s Repeater:%x\n", - edid->productCode,edid->serialNumber,edid->manufactureYear,edid->manufactureWeek,edid->monitorName, - edid->hdmiDeviceType?"HDMI":"DVI",edid->isRepeater); - printf("Supported resolutions: "); - for (size_t j = 0; j < edid->numOfSupportedResolution; j++) + printf("[DsMgr]dumpEDIDInformation tags: Product, SN, Year, Week, Monitor, Type, Repeater\n"); + printf("[DsMgr]dumpEDIDInformation values:%x,%x,%d,%d,%s,%s,%x\n",edid->productCode,edid->serialNumber,edid->manufactureYear,edid->manufactureWeek,edid->monitorName,edid->hdmiDeviceType?"HDMI":"DVI",edid->isRepeater); + printf("Supported resolutions: "); + for (size_t j = 0; j < edid->numOfSupportedResolution; j++) { dsVideoPortResolution_t *edidResn = &(edid->suppResolutionList[j]); printf("%s,",edidResn->name); diff --git a/rpc/srv/dsVideoPort.c b/rpc/srv/dsVideoPort.c index d29966d2..21ffdcd2 100644 --- a/rpc/srv/dsVideoPort.c +++ b/rpc/srv/dsVideoPort.c @@ -921,23 +921,20 @@ IARM_Result_t _dsSetResolution(void *arg) bool IsIgnoreEdid = ignoreEdidParam.ignoreEDID; IARM_BUS_Lock(lock); INT_DEBUG("ResOverride _dsSetResolution IsIgnoreEdid:%d\n", IsIgnoreEdid); - //IsIgnoreEdid is true platform will take care of current resolution cache. - if (!IsIgnoreEdid) { - dsVideoPortResolution_t platresolution; - memset(&platresolution,'\0',sizeof(platresolution)); - dsGetResolution(param->handle,&platresolution); - INT_INFO("Resolution Requested ..%s Platform Resolution - %s\r\n",resolution.name,platresolution.name); - if ((strcmp(resolution.name,platresolution.name) == 0 )) - { + dsVideoPortResolution_t platresolution; + memset(&platresolution,'\0',sizeof(platresolution)); + dsGetResolution(param->handle,&platresolution); + INT_INFO("Resolution Requested ..%s Platform Resolution - %s\r\n",resolution.name,platresolution.name); + if ((strcmp(resolution.name,platresolution.name) == 0 )) + { - INT_INFO("Same Resolution ..Ignoring Resolution Request------\r\n"); - _dsHDMIResolution = platresolution.name; - /*!< Persist Resolution Settings */ - persistResolution(param); - param->result = ret; - IARM_BUS_Unlock(lock); - return IARM_RESULT_SUCCESS; - } + INT_INFO("Same Resolution ..Ignoring Resolution Request------\r\n"); + _dsHDMIResolution = platresolution.name; + /*!< Persist Resolution Settings */ + persistResolution(param); + param->result = ret; + IARM_BUS_Unlock(lock); + return IARM_RESULT_SUCCESS; } /*!< Resolution Pre Change Event - IARM_BUS_DSMGR_EVENT_RES_POSTCHANGE */ _dsVideoPortPreResolutionCall(¶m->resolution);