Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,18 @@ 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.19](https://github.com/rdkcentral/devicesettings/compare/1.0.18...1.0.19)

- RDKEMW-7503: Volume level failed to persist post reboot (#119) [`#131`](https://github.com/rdkcentral/devicesettings/pull/131)
- RDKEMW-6595: Fix coverity issue in devicesettings [`#87`](https://github.com/rdkcentral/devicesettings/pull/87)
- Merge tag '1.0.18' into develop [`11fc3d8`](https://github.com/rdkcentral/devicesettings/commit/11fc3d8b43bb6120192c05087befdfa9e5d67059)

#### [1.0.18](https://github.com/rdkcentral/devicesettings/compare/1.0.17...1.0.18)

> 7 August 2025

- RDKEMW-6380: Handled optical and ARC audio delay properly [`#91`](https://github.com/rdkcentral/devicesettings/pull/91)
- 1.0.18 release change log updates [`43ddc83`](https://github.com/rdkcentral/devicesettings/commit/43ddc83c1a31d1ea54808fb6952dc5afb02bad57)
- Merge tag '1.0.17' into develop [`27c02cd`](https://github.com/rdkcentral/devicesettings/commit/27c02cd9589739bc15d9d466ce564d45c4de4578)

#### [1.0.17](https://github.com/rdkcentral/devicesettings/compare/1.0.16...1.0.17)
Expand Down Expand Up @@ -51,10 +60,21 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
- 1.0.13 release change log updates [`46313cd`](https://github.com/rdkcentral/devicesettings/commit/46313cdef42716cfec368f6dd8a71508dd9773ba)
- RDKEMW-4128 Coverity Integration [`d6306c5`](https://github.com/rdkcentral/devicesettings/commit/d6306c5712f7212794cd29994dd1dda5091bf81d)

#### [1.0.12](https://github.com/rdkcentral/devicesettings/compare/1.0.11...1.0.12)
#### [1.0.12](https://github.com/rdkcentral/devicesettings/compare/1.0.12-hotfix.2...1.0.12)

> 11 June 2025

#### [1.0.12-hotfix.2](https://github.com/rdkcentral/devicesettings/compare/1.0.12-hotfix.1...1.0.12-hotfix.2)

> 27 August 2025

- RDKEMW-7503: Volume level failed to persist post reboot [`#119`](https://github.com/rdkcentral/devicesettings/pull/119)

#### [1.0.12-hotfix.1](https://github.com/rdkcentral/devicesettings/compare/1.0.11...1.0.12-hotfix.1)

> 14 August 2025

- RDKEMW-6380: Handled optical and ARC audio delay properly (#91) [`#95`](https://github.com/rdkcentral/devicesettings/pull/95)
- RDKEMW-4116: DS Generic Error Fix [`#64`](https://github.com/rdkcentral/devicesettings/pull/64)
- MTK-991: DS Generic Changes for additiona framereate [`67ac80e`](https://github.com/rdkcentral/devicesettings/commit/67ac80eb4a9ae99c96a00623546ab124ae1fa8d9)
- MTK-991: DS Generic Error Fix [`8b035e6`](https://github.com/rdkcentral/devicesettings/commit/8b035e6455d3ba8c44a15d742feec6c67bf45155)
Expand Down
28 changes: 27 additions & 1 deletion rpc/srv/dsAudio.c
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,28 @@ void AudioConfigInit()
INT_DEBUG("dsSetAudioLevel_t(int, float ) is defined and loaded\r\n");
std::string _AudioLevel("0");
float m_audioLevel = 0;
//SPDIF init
handle = 0;
if(dsGetAudioPort(dsAUDIOPORT_TYPE_SPDIF,0,&handle) == dsERR_NONE) {
try {
_AudioLevel = device::HostPersistence::getInstance().getProperty("SPDIF0.audio.Level");
}
catch(...) {
try {
INT_DEBUG("SPDIF0.audio.Level not found in persistence store. Try system default\n");
_AudioLevel = device::HostPersistence::getInstance().getDefaultProperty("SPDIF0.audio.Level");
}
catch(...) {
_AudioLevel = "40";
}
}
m_audioLevel = atof(_AudioLevel.c_str());
audioLevel_cache_spdif = m_audioLevel;
if (dsSetAudioLevelFunc(handle, m_audioLevel) == dsERR_NONE) {
INT_INFO("Port %s: Initialized audio level : %f\n","SPDIF0", m_audioLevel);
m_volumeLevel = m_audioLevel;
}
}
//SPEAKER init
handle = 0;
if(dsGetAudioPort(dsAUDIOPORT_TYPE_SPEAKER,0,&handle) == dsERR_NONE) {
Expand All @@ -348,6 +370,7 @@ void AudioConfigInit()
}
}
m_audioLevel = atof(_AudioLevel.c_str());
audioLevel_cache_speaker = m_audioLevel;
if (dsSetAudioLevelFunc(handle, m_audioLevel) == dsERR_NONE) {
m_volumeLevel = m_audioLevel;
INT_INFO("Port %s: Initialized audio level : %f\n","SPEAKER0", m_audioLevel);
Expand All @@ -369,6 +392,7 @@ void AudioConfigInit()
}
}
m_audioLevel = atof(_AudioLevel.c_str());
audioLevel_cache_headphone = m_audioLevel;
if (dsSetAudioLevelFunc(handle, m_audioLevel) == dsERR_NONE) {
INT_INFO("Port %s: Initialized audio level : %f\n","HEADPHONE0", m_audioLevel);
}
Expand All @@ -389,11 +413,13 @@ void AudioConfigInit()
}
}
m_audioLevel = atof(_AudioLevel.c_str());
audioLevel_cache_hdmi = m_audioLevel;
if (dsSetAudioLevelFunc(handle, m_audioLevel) == dsERR_NONE) {
INT_INFO("Port %s: Initialized audio level : %f\n","HDMI0", m_audioLevel);
m_volumeLevel = m_audioLevel;
}
}

}
else {
INT_INFO("dsSetAudioLevel_t(int, float ) is not defined\r\n");
Expand Down Expand Up @@ -7050,7 +7076,7 @@ IARM_Result_t _dsGetHDMIARCPortId(void *arg)
#ifdef DS_AUDIO_SETTINGS_PERSISTENCE

static void* persist_audioLevel_timer_threadFunc(void* arg) {
float prev_audioLevel_spdif = 0.0, prev_audioLevel_speaker = 0.0, prev_audioLevel_hdmi = 0.0, prev_audioLevel_headphone = 0.0;
float prev_audioLevel_spdif = audioLevel_cache_spdif, prev_audioLevel_speaker = audioLevel_cache_speaker, prev_audioLevel_hdmi = audioLevel_cache_hdmi, prev_audioLevel_headphone = audioLevel_cache_headphone;
INT_DEBUG("%s Audio level persistence update timer thread running...\n",__func__);
struct timespec ts;
while(1){
Expand Down
Loading