Skip to content

Conversation

@narenr94
Copy link
Contributor

RDKEMW-11639 : player-interface component separation
Reason for change : remove middleware and platform related code from AAMP
Test Steps : mentioned in ticket
Signed-off by : R.Naren naren_ramesh@comcast.com

nrames759 and others added 15 commits December 16, 2025 13:25
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Refactor LIBAAMP_DEPENDS to consolidate dependencies.
Copilot AI review requested due to automatic review settings January 13, 2026 04:40
@narenr94 narenr94 requested a review from a team as a code owner January 13, 2026 04:40
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request implements component separation for RDKEMW-11639 by externalizing middleware and platform-related code from AAMP. It introduces a new build option (CMAKE_EXTERNAL_PLAYER_INTERFACE_DEPENDENCIES) that allows using player interface components from an external repository instead of the built-in middleware.

Changes:

  • Adds installation script for external middleware-player-interface components with pkg-config generation
  • Modifies CMake build system to support conditional compilation with external vs internal middleware dependencies
  • Improves test robustness with better null handling and symbol visibility controls to prevent GLib/GStreamer clashes

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
scripts/install_middleware_interfaces.sh New script to clone, build, and install external middleware components from rdkcentral repository
install-aamp.sh Integrates new middleware installation script into main build process
CMakeLists.txt Adds conditional logic to switch between external and internal middleware dependencies
middleware/test/utests/tests/OcdmBasicSessionAdapterTests/FunctionalTests.cpp Improves test matcher with null pointer safety and adds default mock behaviors
middleware/test/utests/mocks/MockOpenCdmSessionAdapter.h Adds mock methods for getUsableKeys and setKeyId
middleware/test/utests/fakes/Fakeopencdmsessionadapter.cpp Implements setKeyId fake method under USE_OPENCDM_ADAPTER
middleware/test/utests/fakes/FakeGLib.cpp Adds symbol visibility pragmas to prevent export conflicts
middleware/test/utests/fakes/CMakeLists.txt Configures hidden symbol visibility for fake library to avoid GLib crashes
middleware/InterfacePlayerRDK.cpp Adds informational log message to indicate use of internal library
.gitignore Excludes middleware unit test build directory

do_clone_fn https://github.com/rdkcentral/middleware-player-interface.git

cd middleware-player-interface
git checkout feature/RDKEMW-11639
Copy link

Copilot AI Jan 13, 2026

Choose a reason for hiding this comment

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

Hardcoding the git branch 'feature/RDKEMW-11639' in the installation script makes this non-reusable and will break once this feature branch is merged or deleted. The script should either use a stable branch name (like 'main' or 'master') or make the branch name configurable through an environment variable or parameter.

Suggested change
git checkout feature/RDKEMW-11639
local middleware_branch="${MIDDLEWARE_PLAYER_INTERFACE_BRANCH:-main}"
git checkout "$middleware_branch"

Copilot uses AI. Check for mistakes.
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