RDKEMW-11881 : player-interface component separation#65
RDKEMW-11881 : player-interface component separation#65
Conversation
RDKEMW-9809 : Latest AAMP sync
To resolve MacOS compilation failure
There was a problem hiding this comment.
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
SetAudioRoutingPropertiesmethod 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.
Coverity Issue - Resource leak in objectAllocating memory by calling "new Configs". High Impact, CWE-401 Issue locationThis issue was discovered outside the diff for this Pull Request. You can find it at: |
| 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) | ||
| { | ||
| } |
There was a problem hiding this comment.
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
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>
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>
…central/middleware-player-interface into feature/RDKEMW-11934_TagAamp
There was a problem hiding this comment.
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.
| * @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 |
There was a problem hiding this comment.
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.
auto generate pc files using cmake
RDKEMW-11934 : Build Failing for middleware-player-interface branch on macOS
|
I have read the CLA Document and I hereby sign the CLA 1 out of 2 committers have signed the CLA. |
There was a problem hiding this comment.
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.
| @@ -84,8 +80,9 @@ set(PLAYER_SOURCES | |||
| add_executable(${EXEC_NAME} | |||
| ${TEST_SOURCES} | |||
| ${MOCK_SOURCES} | |||
| ${FAKE_SOURCES} | |||
| ${PLAYER_SOURCES}) | |||
There was a problem hiding this comment.
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).
| @@ -888,21 +864,7 @@ class Mp4Demux | |||
|
|
|||
| case MultiChar_Constant("moof"): // Movie Fragment | |||
| moof_ptr = ptr-8; | |||
There was a problem hiding this comment.
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.
| moof_ptr = ptr-8; | |
| moof_ptr = ptr-8; | |
| sampleOffset = samples.size(); |
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