From a7ea97920b89bcf9808f9dfafc1ed7819636eb3d Mon Sep 17 00:00:00 2001 From: hgfell683 <107510770+hgfell683@users.noreply.github.com> Date: Mon, 22 Dec 2025 09:28:25 -0500 Subject: [PATCH 1/3] RDKEMW-11894 : Dolby Atmos content playback not working Reason for change: Adding check to only call hal if auto is true for speaker0 Test Procedure: Risks: low Priority: P1 Signed-off-by:Hayden Gfeller --- rpc/srv/dsAudio.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rpc/srv/dsAudio.c b/rpc/srv/dsAudio.c index 7d085ffd..78e530da 100755 --- a/rpc/srv/dsAudio.c +++ b/rpc/srv/dsAudio.c @@ -2554,7 +2554,7 @@ IARM_Result_t _dsGetStereoMode(void *arg) } param->mode = stereoMode; } - else if (_APortType == dsAUDIOPORT_TYPE_SPEAKER) { + else if (_APortType == dsAUDIOPORT_TYPE_SPEAKER && _srv_AudioSPEAKERAuto) { ret = dsGetStereoMode(param->handle, ¶m->mode); if(ret == dsERR_NONE) { result = IARM_RESULT_SUCCESS; @@ -2574,6 +2574,10 @@ IARM_Result_t _dsGetStereoMode(void *arg) param->mode = _srv_HDMI_ARC_Audiomode; INT_INFO("The HDMI ARC Port Audio Settings Mode is %d \r\n",param->mode); } + else if (_APortType == dsAUDIOPORT_TYPE_SPEAKER) { + param->mode = _srv_SPEAKER_Audiomode; + INT_INFO("The SPEAKER Port Audio Settings Mode is %d \r\n",param->mode); + } result = IARM_RESULT_SUCCESS; } From 17681973eb4f2dd4d1b0d87dc8c4168b9334c5a8 Mon Sep 17 00:00:00 2001 From: hgfell683 <107510770+hgfell683@users.noreply.github.com> Date: Mon, 22 Dec 2025 13:28:48 -0500 Subject: [PATCH 2/3] RDKEMW-11894 : Dolby Atmos content playback not working --- rpc/srv/dsAudio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rpc/srv/dsAudio.c b/rpc/srv/dsAudio.c index 78e530da..8fee3b4a 100755 --- a/rpc/srv/dsAudio.c +++ b/rpc/srv/dsAudio.c @@ -71,6 +71,7 @@ static pthread_cond_t audioLevelTimerCV = PTHREAD_COND_INITIALIZER; int _srv_AudioHDMIAuto = 1; int _srv_AudioSPDIFAuto = 1; int _srv_AudioHDMIARCAuto = 1; +int _srv_AudioSPEAKERAuto = 1; dsAudioStereoMode_t _srv_HDMI_Audiomode = dsAUDIO_STEREO_SURROUND; dsAudioStereoMode_t _srv_SPDIF_Audiomode = dsAUDIO_STEREO_SURROUND; dsAudioStereoMode_t _srv_HDMI_ARC_Audiomode = dsAUDIO_STEREO_SURROUND; @@ -78,11 +79,12 @@ dsAudioStereoMode_t _srv_HDMI_ARC_Audiomode = dsAUDIO_STEREO_SURROUND; int _srv_AudioHDMIAuto = 0; int _srv_AudioSPDIFAuto = 0; int _srv_AudioHDMIARCAuto = 0; +int _srv_AudioSPEAKERAuto = 0; dsAudioStereoMode_t _srv_HDMI_Audiomode = dsAUDIO_STEREO_STEREO; dsAudioStereoMode_t _srv_SPDIF_Audiomode = dsAUDIO_STEREO_STEREO; dsAudioStereoMode_t _srv_HDMI_ARC_Audiomode = dsAUDIO_STEREO_STEREO; #endif -int _srv_AudioSPEAKERAuto = 1; + dsAudioStereoMode_t _srv_SPEAKER_Audiomode = dsAUDIO_STEREO_SURROUND; #ifdef DS_AUDIO_SETTINGS_PERSISTENCE From 82162d74d09973d78f596b1e8aa7fe55d21e543c Mon Sep 17 00:00:00 2001 From: hgfell683 <107510770+hgfell683@users.noreply.github.com> Date: Mon, 22 Dec 2025 15:24:45 -0500 Subject: [PATCH 3/3] RDKEMW-11894 : Dolby Atmos content playback not working --- rpc/srv/dsAudio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rpc/srv/dsAudio.c b/rpc/srv/dsAudio.c index 8fee3b4a..03984e04 100755 --- a/rpc/srv/dsAudio.c +++ b/rpc/srv/dsAudio.c @@ -2557,10 +2557,12 @@ IARM_Result_t _dsGetStereoMode(void *arg) param->mode = stereoMode; } else if (_APortType == dsAUDIOPORT_TYPE_SPEAKER && _srv_AudioSPEAKERAuto) { - ret = dsGetStereoMode(param->handle, ¶m->mode); + dsAudioStereoMode_t stereoMode = dsAUDIO_STEREO_UNKNOWN; + ret = dsGetStereoMode(param->handle, &stereoMode); if(ret == dsERR_NONE) { result = IARM_RESULT_SUCCESS; } + param->mode = stereoMode; } else { if (_APortType == dsAUDIOPORT_TYPE_SPDIF)