Skip to content

RDKEMW-11881 : player-interface component separation#65

Open
narenr94 wants to merge 68 commits intomainfrom
feature/RDKEMW-11881
Open

RDKEMW-11881 : player-interface component separation#65
narenr94 wants to merge 68 commits intomainfrom
feature/RDKEMW-11881

Conversation

@narenr94
Copy link
Copy Markdown
Contributor

RDKEMW-11881 : 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

@narenr94 narenr94 requested a review from a team as a code owner January 20, 2026 08:24
Copilot AI review requested due to automatic review settings January 20, 2026 08:24
Copy link
Copy Markdown
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 separates player-interface components from AAMP by removing middleware and platform-related code. The changes primarily focus on adding audio routing functionality to vendor-specific SOC interfaces and reorganizing test infrastructure.

Changes:

  • Added SetAudioRoutingProperties method to SOC interface hierarchy for Realtek-specific audio configuration
  • Reorganized test infrastructure by removing TtmlSubtecParser and SubtecTests, adding comprehensive InterfacePlayer tests
  • Updated CMake build configurations across multiple test suites to standardize coverage setup and linking

Reviewed changes

Copilot reviewed 80 out of 92 changed files in this pull request and generated no comments.

Show a summary per file
File Description
vendor/realtek/RealtekSocInterface.h Added SetAudioRoutingProperties method declaration
vendor/realtek/RealtekSocInterface.cpp Implemented audio routing configuration for OMX decoders
vendor/SocInterface.h Added virtual SetAudioRoutingProperties base method
vendor/default/DefaultSocInterface.cpp Updated comment to remove OSX/Ubuntu reference
vendor/brcm/BrcmSocInterface.h Whitespace formatting fix
vendor/amlogic/AmlogicSocInterface.h Removed trailing empty line
vendor/amlogic/AmlogicSocInterface.cpp Fixed trailing whitespace
test/utests/tests/TtmlSubtecParser/* Removed entire test suite (1688 lines)
test/utests/tests/SubtecTests/* Removed entire test suite (1952 lines)
test/utests/tests/InterfacePlayerTests/* Added new comprehensive test suite (2535 lines)
test/utests/tests/*/CMakeLists.txt Standardized coverage configuration and linking
test/utests/tests/GstPlayer/*.cpp Updated ConfigurePipeline calls with new parameters

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

rdkcmf-jenkins commented Jan 20, 2026

Coverity Issue - Resource leak in object

Allocating memory by calling "new Configs".

High Impact, CWE-401
CTOR_DTOR_LEAK

Issue location

This issue was discovered outside the diff for this Pull Request. You can find it at:
InterfacePlayerRDK.cpp:76

verbose(verbose), sampleOffset(), sencPresent(false)
Mp4Demux( bool verbose=false ) : audio{}, video{}, stream_format(), data_reference_index(), codec_type(), codec_data(), is_encrypted(), iv_size(), crypt_byte_block(), skip_byte_block(), constant_iv_size(), constant_iv(), timescale(), samples(), default_kid(), got_auxiliary_information_offset(), auxiliary_information_offset(), scheme_type(), scheme_version(), original_media_type(), cenc_aux_info_sizes(), protectionEvents(), moof_ptr(), ptr(), indent(), version(), flags(), baseMediaDecodeTime(), fragment_duration(), track_id(), base_data_offset(), default_sample_description_index(), default_sample_duration(), default_sample_size(), default_sample_flags(), creation_time(), modification_time(), duration(), rate(), volume(), matrix{}, layer(), alternate_group(), width_fixed(), height_fixed(), language(), verbose(verbose)
{
}
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.

Coverity Issue - Uninitialized scalar field

Non-static class member "sencPresent" is not initialized in this constructor nor in any functions that it calls.

Medium Impact, CWE-457
UNINIT_CTOR

rekhap2kandhavelan and others added 15 commits January 21, 2026 16:21
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>
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>
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>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
rekhap2kandhavelan and others added 15 commits January 23, 2026 15:45
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>
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>
Copilot AI review requested due to automatic review settings January 29, 2026 07:22
Copy link
Copy Markdown
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

Copilot reviewed 85 out of 96 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +198 to +214
* @patam[out] colorOut - color option for the input value
* @return int - 0 for success, -1 for failure
*/
int getColor(std::string input, SupportedColors *colorOut);

/**
* @fn getEdgeType
* @param[in] input - input edge type value
* @param[out] edgeTypeOut - edge type option for the input value
* @patam[out] edgeTypeOut - edge type option for the input value
* @return int - 0 for success, -1 for failure
*/
int getEdgeType(std::string input, EdgeType *edgeTypeOut);

/**
* @fn getOpacity
* @param[in] input - input opacity value
* @param[out] edgeTypeOut - opacity option for the input value
* @patam[out] edgeTypeOut - opacity option for the input value
Copy link

Copilot AI Jan 29, 2026

Choose a reason for hiding this comment

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

The Doxygen comments for getColor, getEdgeType, and getOpacity use @patam[out] instead of @param[out] for the output parameters, which will break parameter documentation generation. Please correct these tags to use @param[out] so the documentation associates the comments with the actual parameters.

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copilot AI review requested due to automatic review settings February 4, 2026 10:23
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 4, 2026


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


1 out of 2 committers have signed the CLA.
✅ (narenr94)[https://github.com/narenr94]
@rekhap2kandhavelan
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

Copy link
Copy Markdown
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

Copilot reviewed 103 out of 114 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 58 to 84
@@ -84,8 +80,9 @@ set(PLAYER_SOURCES
add_executable(${EXEC_NAME}
${TEST_SOURCES}
${MOCK_SOURCES}
${FAKE_SOURCES}
${PLAYER_SOURCES})
Copy link

Copilot AI Feb 4, 2026

Choose a reason for hiding this comment

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

FAKE_SOURCE is defined at the top of this file, but FAKE_SOURCES is used in the add_executable call, so FakeDRMSessionManager.cpp will not actually be compiled into the test target. This likely breaks the intention of using the fake DRM session manager in these tests and may lead to unresolved symbols or unintended linkage against the real implementation. Update the variable name consistently (e.g., rename FAKE_SOURCE to FAKE_SOURCES or use FAKE_SOURCE in add_executable).

Copilot uses AI. Check for mistakes.
@@ -888,21 +864,7 @@ class Mp4Demux

case MultiChar_Constant("moof"): // Movie Fragment
moof_ptr = ptr-8;
Copy link

Copilot AI Feb 4, 2026

Choose a reason for hiding this comment

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

sampleOffset is now used in process_auxiliary_information, parseSampleAuxiliaryInformationSizes, and parseSampleEncryptionBox, but it is no longer initialized or updated when a new moof box is parsed. Previously, sampleOffset and related encryption state were reset in the moof case; with that logic removed, sampleOffset will contain an indeterminate or stale value, which can cause out-of-bounds access or incorrect IV/subsample association when handling CENC auxiliary information. To fix this, reintroduce initialization of sampleOffset (e.g., sampleOffset = samples.size();) and any necessary state resets when encountering a new moof box.

Suggested change
moof_ptr = ptr-8;
moof_ptr = ptr-8;
sampleOffset = samples.size();

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.

7 participants