Skip to content

RDKEMW-19159: Update AAMP (dsMgr Client) to Use Existing Thunder Plugin for libds Methods and Event Notifications - #224

Open
nejuma1 wants to merge 1 commit into
mainfrom
RDKEMW-19159
Open

RDKEMW-19159: Update AAMP (dsMgr Client) to Use Existing Thunder Plugin for libds Methods and Event Notifications#224
nejuma1 wants to merge 1 commit into
mainfrom
RDKEMW-19159

Conversation

@nejuma1

@nejuma1 nejuma1 commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

RDKEMW-19159: Update AAMP (dsMgr Client) to Use Existing Thunder Plugin for libds Methods and Event Notifications
Reason for change : Replaced libds methods with thunder calls
Priority : p1
Signed off by : Nejuma T N nejumatn28@gmail.com

@nejuma1
nejuma1 requested a review from a team as a code owner August 10, 2026 10:31
Copilot AI lite review requested due to automatic review settings August 10, 2026 10:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates the RDK-specific player externals layer away from libds-based device/event handling toward Thunder plugin JSON-RPC calls (plus related build/interface adjustments), aligning AAMP’s dsMgr client behavior with existing Thunder access patterns.

Changes:

  • Added a Thunder-based HDMI/HDCP/resolution status path and Thunder event subscriptions in PlayerExternalsRdkInterface.
  • Deprecated the runtime Firebolt/IARM selector (SetUseFireBoltSDK) in favor of compile-time selection via FIREBOLT_SUPPORTED.
  • Extended Thunder plugin enum values and updated build link dependencies (notably removing -lds/-ldshalcli from externals linkage).

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
externals/rdk/PlayerExternalsRdkInterface.h Adds Thunder-vs-libds compile-time branching and introduces HdcpProtocolVersion.
externals/rdk/PlayerExternalsRdkInterface.cpp Implements Thunder JSON-RPC HDMI/HDCP/status querying and Thunder event registration/removal; updates init flow.
externals/rdk/IIarm/DeviceIARMInterface.h Comments out dsMgr event handler API declarations.
externals/rdk/IIarm/DeviceIARMInterface.cpp Removes dsMgr handler registration/removal usage and updates macro conditions.
externals/rdk/IFirebolt/DeviceFireboltInterface.h Comments out dsMgr event handler API declarations.
externals/rdk/IFirebolt/DeviceFireboltInterface.cpp Removes dsMgr handler registration path and updates HDCP protocol usage to new enum.
externals/rdk/DeviceInterfaceBase.h Comments out dsMgr event handler pure-virtuals from the device interface base.
externals/PlayerThunderAccessBase.h Adds new Thunder plugin enum values (HDCPPROFILE, DISPLAYINFO).
externals/PlayerExternalsInterfaceBase.h Documents SetUseFireBoltSDK as deprecated / compile-time selected.
externals/PlayerExternalsInterface.h Documents SetUseFireBoltSDK deprecation in interface and fake implementation.
externals/PlayerExternalsInterface.cpp Adds deprecation doc for SetUseFireBoltSDK.
externals/CMakeLists.txt Removes ds-related link dependencies from IARM build linkage.
Suppressed comments (1)

externals/rdk/PlayerExternalsRdkInterface.cpp:93

  • In Initialize(), the FIREBOLT_SUPPORTED preprocessor branch is missing a matching #endif, and the extra braces around the logging blocks create an invalid/misleading structure. This will break compilation or cause the later #ifdef/#else/#endif in the function to be parsed incorrectly.
    if(m_initialized != InitState::NOT_INITIALIZED)
    {
        #ifdef FIREBOLT_SUPPORTED
        {
            MW_PRE_LOGGER_LOG("Firebolt already Inited \n");
            //firebolt already inited
            return;
        }
        #else
        {
            MW_PRE_LOGGER_LOG("IARM already Inited \n");
            //IARM already inited
            return;
        }

    }
    else
    {
        MW_PRE_LOGGER_LOG("Initializing \n");
    }

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

if (!lock.owns_lock()) {
MW_LOG_WARN("SetHDMIStatus: Already in progress on another thread, skipping\n");
return;
#ifdef USE_DS_THUNDER_PLUGIN
Comment on lines +211 to 217
m_isHDCPEnabled = isHDCPEnabled;
if (m_isHDCPEnabled) {
m_hdcpCurrentProtocol = hdcpCurrentProtocol;
MW_LOG_WARN(" detected HDCP version %s\n", m_hdcpCurrentProtocol == HdcpProtocolVersion::V2X ? "2.x" : "1.4");
} else {
MW_LOG_WARN("HDCP is not enabled\n");
}
Comment on lines 44 to 50
SECMANAGER,
WATERMARK,
HDMIINPUT,
COMPOSITEINPUT
COMPOSITEINPUT,
HDCPPROFILE,
DISPLAYINFO
};
Comment thread externals/CMakeLists.txt
Comment on lines 123 to 132
#IARM/RFC
if(CMAKE_IARM_MGR)
message("PLAYER IARM_MGR set")
set(LIB_EXT_DEFINES "${LIB_EXT_DEFINES} -DIARM_MGR=1")
set(EXT_SOURCES "${EXT_SOURCES}" rdk/PlayerExternalsRdkInterface.cpp)
set(EXT_SOURCES "${EXT_SOURCES}" rdk/IIarm/DeviceIARMInterface.cpp)
set(EXT_SOURCES "${EXT_SOURCES}" rdk/IFirebolt/DeviceFireboltInterface.cpp)
set(EXT_SOURCES "${EXT_SOURCES}" IFirebolt/FireboltInterface.cpp)
list(APPEND LIB_EXT_DEPENDS -lIARMBus -lds -ldshalcli)
list(APPEND LIB_EXT_DEPENDS -lIARMBus)
endif()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants