Skip to content

Feature/xre 19922 1#88

Open
varatharajan568 wants to merge 57 commits intomainfrom
feature/XRE-19922_1
Open

Feature/xre 19922 1#88
varatharajan568 wants to merge 57 commits intomainfrom
feature/XRE-19922_1

Conversation

@varatharajan568
Copy link
Copy Markdown
Contributor

No description provided.

balasaraswathy-n and others added 30 commits December 13, 2025 14:22
To resolve MacOS compilation failure
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>
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 24 commits January 23, 2026 15:10
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>
RDKEMW-11934 : Fix build failure in MAC
RDKEMW-13297:Player-interface component separation phase1
@varatharajan568 varatharajan568 requested a review from a team as a code owner March 4, 2026 08:10
Copilot AI review requested due to automatic review settings March 4, 2026 08:10
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 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


2 out of 3 committers have signed the CLA.
narenr94
varatharajan568
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

This PR consolidates several middleware/platform interface behaviors (notably AC4 track selection), expands unit test coverage, and reworks parts of the build/test infrastructure (coverage tooling, fake/mock plumbing, and pkg-config packaging).

Changes:

  • Move AC4 track selection to a default SocInterface implementation and remove per-vendor duplicates.
  • Add/extend unit tests and fakes/mocks (DRM, InterfacePlayer, PlayerUtils, Externals RDK), and update several utest CMake targets to use CodeCoverage.
  • Introduce/adjust build & packaging artifacts (pkg-config .pc.in templates, install scripts, TagLib compat header) and extend media/DRM data plumbing (DemuxDataTypes.h, new caps, buffer helper).

Reviewed changes

Copilot reviewed 128 out of 141 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
vendor/realtek/RealtekSocInterface.h Remove AC4 override declaration
vendor/realtek/RealtekSocInterface.cpp Remove AC4 override implementation
vendor/default/DefaultSocInterface.h Remove AC4 override declaration
vendor/default/DefaultSocInterface.cpp Remove AC4 override implementation; tweak comment
vendor/brcm/BrcmSocInterface.h Remove stub AC4 override
vendor/brcm/BrcmSocInterface.cpp Trailing whitespace/newline change
vendor/amlogic/AmlogicSocInterface.h Remove AC4 override declaration
vendor/amlogic/AmlogicSocInterface.cpp Remove AC4 override implementation; whitespace
vendor/SocInterface.h Make SetAC4Tracks non-pure
vendor/SocInterface.cpp Add default SetAC4Tracks implementation
test/utests/tests/base16Tests/CMakeLists.txt Switch coverage handling
test/utests/tests/TextStyleAttributes/CMakeLists.txt Adjust includes/coverage/linking
test/utests/tests/PluginsTests/CMakeLists.txt Simplify deps/linking; add fake source
test/utests/tests/PlayerUtilsTests/PlayerUtilsTests.cpp New gtest main
test/utests/tests/PlayerUtilsTests/CMakeLists.txt New PlayerUtils tests target
test/utests/tests/PlayerExternalsRdkTests/PlayerExternalsRdkInterfaceTests.cpp New gtest main
test/utests/tests/PlayerExternalsRdkTests/CMakeLists.txt New/rewired externals RDK tests target
test/utests/tests/OcdmBasicSessionAdapterTests/FunctionalTests.cpp Fix test setup ordering/expectations
test/utests/tests/OcdmBasicSessionAdapterTests/CMakeLists.txt Coverage + include cleanup
test/utests/tests/OCDMSessionAdapter/KeyUpdateTests.cpp Add keyUpdate usable-keys tests
test/utests/tests/OCDMSessionAdapter/CMakeLists.txt Add new test source; coverage changes
test/utests/tests/InterfacePlayerTests/InterfacePlayerTests.cpp New gtest main
test/utests/tests/InterfacePlayerTests/CMakeLists.txt New/rewired InterfacePlayer tests target
test/utests/tests/GstUtilsTests/GstUtilsTests.cpp Add AAC RAW caps test coverage
test/utests/tests/GstUtilsTests/CMakeLists.txt Coverage handling change
test/utests/tests/GstPlayer/PauseOnPlaybackTests.cpp Update test setup for video sink/context
test/utests/tests/GstPlayer/FunctionalTests.cpp Remove dead/commented code; adjust params table comment
test/utests/tests/GstPlayer/CMakeLists.txt Simplify deps; adjust fake sources
test/utests/tests/GstHandlerControlTests/CMakeLists.txt Coverage handling change
test/utests/tests/DrmUrlTests/CMakeLists.txt Include path refactor; add simulator define; coverage
test/utests/tests/DrmSessionManagerTests/DrmSessionManagerTests.cpp Update copyright year
test/utests/tests/DrmSessionManagerTests/CMakeLists.txt New DrmSessionManager tests target
test/utests/tests/DrmSecureClient/CMakeLists.txt Simplify linking; coverage handling
test/utests/tests/DrmOcdm/DrmSessionFactoryTests.cpp Remove tests file
test/utests/tests/DrmOcdm/DrmMemorySystemTests.cpp Remove tests file
test/utests/tests/DrmOcdm/DrmHelperTests.cpp Remove verbose/skip tests block
test/utests/tests/DrmOcdm/CMakeLists.txt Reduce test set; add coverage/lcov setup; add defines
test/utests/tests/DrmAes/CMakeLists.txt Remove DrmAes test target
test/utests/tests/CMakeLists.txt Add new test subdirectories; remove others
test/utests/tests/Base64PLAYER/CMakeLists.txt Coverage handling change
test/utests/tests/Base64PLAYER/Base64Tests.cpp Update base64 decode API usage
test/utests/run.sh Rename vars; add pkg-config paths; add DS define; formatting
test/utests/mocks/MockSocInterface.h New mock
test/utests/mocks/MockPlayerConfig.h Rename include guards
test/utests/mocks/MockPacketSender.h Remove mock header
test/utests/mocks/MockOpenCdmSessionAdapter.h Add missing includes + new mock methods
test/utests/mocks/MockHlsDrmSession.h Remove mock header
test/utests/mocks/MockGstUtils.h Extend interface + mock for buffer creation
test/utests/mocks/MockGStreamer.h Add missing mocks (structure free, caps/buffer helpers)
test/utests/mocks/MockGLib.h Add more g_object_set/get + signal helpers
test/utests/mocks/MockDrmSessionManager.h Replace invalid “main” with proper mock
test/utests/mocks/MockDrmSessionFactory.h Add DrmSessionFactory mock wrapper
test/utests/mocks/MockDrmSession.h Rework mock + include guards/comments
test/utests/mocks/MockDrmHelper.h Guard rename; signature fixes
test/utests/fakes/Fakeopencdmsessionadapter.cpp Delegate more calls to session-adapter mock
test/utests/fakes/FakeSocInterface.cpp Move AC4 to SocInterface fake; stubs/formatting
test/utests/fakes/FakePlayerExternalsRdkInterface.cpp New fake externals RDK implementation
test/utests/fakes/FakePacketSender.cpp Remove fake packet sender
test/utests/fakes/FakeGstUtils.cpp Delegate GstUtils helpers to mock
test/utests/fakes/FakeGStreamer.cpp Delegate more APIs to mock (caps/structure/buffer)
test/utests/fakes/FakeGLib.cpp Extend vararg routing for g_object_set/get and signals
test/utests/fakes/FakeDrmSessionFactory.cpp New fake delegating to mock factory
test/utests/fakes/FakeDRMSessionManager.cpp New fake delegating setVideoWindowSize
test/utests/fakes/FakeCrypto.cpp Remove OpenSSL crypto stubs
test/utests/fakes/FakeContentSecurityManagerSession.cpp New CSM session fake
test/utests/fakes/FakeContentSecurityManager.cpp New CSM fake + uuid stubs
test/utests/fakes/FakeBase64.cpp Replace with stubbed base64_Encode
test/utests/fakes/CMakeLists.txt Add externals/rdk include; formatting
test/utests/drm/mocks/MockOpenCdm.h Rename include guards
test/utests/cmake_exclude_file.list New coverage excludes helper
test/utests/ReadMe.md Rewrite/refresh microtests documentation
test/utests/CMakeLists.txt Rework coverage + dependency discovery
subtec/subtecparser/TextStyleAttributes.h Doc comment edits (param tag typo introduced)
scripts/taglib_compat.h New TagLib v2 compatibility shim
scripts/install_subtec.sh Rework gdbus-codegen selection/patching; robustness
scripts/install_options.sh Update default branch option
scripts/install_gstreamer.sh Add TagLib compat include for gst-plugins-good build
playerLogManager/CMakeLists.txt Add version, default prefix, pkg-config install
playerJsonObject/PlayerJsonObject.cpp Update base64 decode call (explicit length)
playerJsonObject/CMakeLists.txt Add version, default prefix, pkg-config install
pkgconfig/libsubtec_connector.pc.in New pkg-config template
pkgconfig/libsubtec.pc.in New pkg-config template
pkgconfig/libplayerlogmanager.pc.in New pkg-config template
pkgconfig/libplayerjsonobject.pc.in New pkg-config template
pkgconfig/libplayergstinterface.pc.in New pkg-config template
pkgconfig/libplayerfbinterface.pc.in New pkg-config template
pkgconfig/libbaseconversion.pc.in New pkg-config template
install-middleware.sh Add glib install step; cleanup
gst-plugins/gstinit.cpp Remove version strings from init logging
gst-plugins/gst_subtec/CMakeLists.txt Switch C++ standard; link/include adjustments
gst-plugins/CMakeLists.txt Tidy flags + Darwin video linking; remove amlogic block
externals/rdk/PlayerExternalsRdkInterface.h Add DS event interfaces + power/fake-tune callbacks
externals/rdk/PlayerExternalsRdkInterface.cpp Implement DS event registration + power/fake-tune
externals/rdk/IIarm/DeviceIARMInterface.h Formatting + minor cleanup
externals/rdk/IIarm/DeviceIARMInterface.cpp Add preinit decoding power handling + base64 decode update
externals/contentsecuritymanager/SecManagerThunder.cpp Fix license header; base64 decode API update
externals/contentsecuritymanager/IFirebolt/ContentProtectionFirebolt.cpp Fix license header; base64 decode API update
externals/contentsecuritymanager/ContentSecurityManagerSession.cpp Fix license header typo
externals/contentsecuritymanager/ContentSecurityManager.cpp Fix license header typo
externals/PlayerExternalsInterfaceBase.h Add power event + fake tune callback API
externals/PlayerExternalsInterface.h Add new externals APIs + IsDevicePropertiesPresent
externals/PlayerExternalsInterface.cpp Wire new externals APIs + device-properties helper
drm/processProtectionHls.cpp base64 decode API update
drm/ocdm/opencdmsessionadapter.h Mark getUsableKeys() override
drm/ocdm/opencdmsessionadapter.cpp Add key validation + usable key caching; new error state
drm/helper/WidevineDrmHelper.cpp Log key IDs more safely/debuggable
drm/DrmUtils.h Add new DRM error code
drm/DrmUtils.cpp Fix destructor spelling
drm/DrmSessionManager.h Expose cache mutex; remove test helper; minor whitespace
drm/DrmSessionManager.cpp Delete config param; better logging; key normalization changes
drm/DrmSession.h Add new KeyState for session creation failure
drm/DrmSession.cpp Fix double semicolon
drm/ClearKeyDrmSession.cpp Whitespace cleanup
closedcaptions/rialto/PlayerRialtoCCManager.cpp Preserve format + prefix track IDs for Rialto
closedcaptions/PlayerCCManager.h Track format stored; RestoreCC signature updated
closedcaptions/PlayerCCManager.cpp RestoreCC uses stored format; reset state updates
baseConversion/_base64.h Remove old decode overload declaration
baseConversion/_base64.cpp Remove old decode overload definition
baseConversion/CMakeLists.txt Add version/default prefix + pkg-config install
aamp_sync_cid.txt New sync marker
PlayerUtils.cpp base64 decode API update
OSX/OSxSetup.md Update clone URL/branch
InterfacePlayerRDK.h Replace raw buffer send helper with MediaSample; add caps setter
InterfacePlayerPriv.h Add mp4demux playback semantics flag
GstUtils.h Add AAC RAW format + buffer helper API
GstUtils.cpp Implement AAC RAW caps + buffer creation helper; newline fixes
DemuxDataTypes.h New media sample/codec/DRM datatypes header
CMakeLists.txt Add version/default prefix; install headers; pkg-config generation
Comments suppressed due to low confidence (3)

gst-plugins/gst_subtec/CMakeLists.txt:27

  • pkg_check_modules(GSTREAMERBASE ...) is pointing at gstreamer-app-1.0, but this target links ${GSTREAMERBASE_LIBRARIES} as if it were gstbase. On Linux this can lead to missing libgstbase-1.0 symbols. Please switch GSTREAMERBASE to gstreamer-base-1.0 and add a separate GSTREAMERAPP module if needed.
    test/utests/tests/PlayerExternalsRdkTests/CMakeLists.txt:23
  • EXEC_NAME does not match the directory name (PlayerExternalsRdkTests). The utests README notes the executable name must match the directory for combined JSON report generation; please align EXEC_NAME accordingly to avoid missing results in aggregated reports.
    test/utests/tests/InterfacePlayerTests/CMakeLists.txt:23
  • EXEC_NAME does not match the directory name (InterfacePlayerTests). The utests README indicates these must match for JSON report generation; please rename EXEC_NAME to match the folder so results are picked up consistently.

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

Comment on lines 35 to 37
pkg_check_modules(GSTREAMER REQUIRED gstreamer-1.0)
pkg_check_modules(GSTREAMERBASE REQUIRED gstreamer-base-1.0)
pkg_check_modules(GSTREAMERAPP REQUIRED gstreamer-app-1.0)
pkg_check_modules(GSTREAMERBASE REQUIRED gstreamer-app-1.0)
pkg_check_modules(GLIB REQUIRED glib-2.0)
Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

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

GSTREAMERBASE is being resolved from gstreamer-app-1.0, which will not provide the gstbase headers/libs (e.g., GstBaseTransform) that callers expect. Use gstreamer-base-1.0 for GSTREAMERBASE and add a separate pkg_check_modules(GSTREAMERAPP REQUIRED gstreamer-app-1.0) if app is needed, then update the include/link variables accordingly.

Copilot uses AI. Check for mistakes.
Comment on lines 29 to +32
message("using gstreamer-1.0")
pkg_check_modules(GSTREAMER REQUIRED gstreamer-1.0)
pkg_check_modules(GSTREAMERBASE REQUIRED gstreamer-app-1.0)
pkg_check_modules(GSTREAMERVIDEO REQUIRED gstreamer-video-1.0)

Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

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

GSTREAMERBASE is resolved from gstreamer-app-1.0 here, but ${GSTREAMERBASE_INCLUDE_DIRS} / ${GSTREAMERBASE_LIBRARIES} are used as gstbase dependencies. This will drop linking to libgstbase-1.0 on Linux. Use gstreamer-base-1.0 for GSTREAMERBASE and add GSTREAMERAPP separately if required.

Copilot uses AI. Check for mistakes.
Comment on lines 80 to 84
add_executable(${EXEC_NAME}
${TEST_SOURCES}
${MOCK_SOURCES}
${FAKE_SOURCES}
${PLAYER_SOURCES})
Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

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

${FAKE_SOURCES} is referenced in add_executable(...), but the file defines FAKE_SOURCE (singular). This will drop the fake source file from the target (or error if unset). Rename consistently (prefer plural) and ensure it points at an existing path.

Copilot uses AI. Check for mistakes.
Comment on lines 53 to 55
set(FAKE_SOURCES ${UTESTS_ROOT}/fakes/FakeGStreamer.cpp
${UTESTS_ROOT}fakes/FakeGLib.cpp
${UTESTS_ROOT}/fakes/FakeGstUtils.cpp
${UTESTS_ROOT}/fakes/FakeSocInterface.cpp)
${UTESTS_ROOT}fakes/FakeGLib.cpp)

Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

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

The FAKE_SOURCES path ${UTESTS_ROOT}fakes/FakeGLib.cpp is missing a '/' after ${UTESTS_ROOT}. This will cause the fake source not to be found on disk during configure/build.

Copilot uses AI. Check for mistakes.
Comment on lines +26 to +27
include_directories(${PLAYER_ROOT} ${PLAYER_ROOT}/test/aampcli ${PLAYER_ROOT}/drm ${PLAYER_ROOT}/drm/helper ${PLAYER_ROOT}/subtitle ${PLAYER_ROOT}/middleware/subtitle ${PLAYER_ROOT}/downloader ${PLAYER_ROOT}/isobmff ${PLAYER_ROOT}/subtec/subtecparser ${PLAYER_ROOT}/playerjsonobject ${PLAYER_ROOT}/subtec/libsubtec ${PLAYER_ROOT}/externals/contentsecuritymanager)
include_directories(${PLAYER_ROOT}/tsb/api)
Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

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

include_directories(... ${PLAYER_ROOT}/playerjsonobject ...) uses a path that does not exist in this repo (playerJsonObject is capitalized). On case-sensitive filesystems (Linux) this will break the build; update the include path to match the actual directory name.

Copilot uses AI. Check for mistakes.
Comment on lines +25 to +31
#include "DrmSessionFactory.h"
#include "MockDrmSessionFactory.h"

// Global pointer to the mock DrmSessionFactory instance
MockDrmSessionFactory* g_MockDrmSessionFactory = nullptr;

/**
Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

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

The mock global is declared as g_mockDrmSessionFactory in the header, but this file defines g_MockDrmSessionFactory (different name/casing) and DrmSessionFactory::GetDrmSession() checks the latter. This makes it impossible for tests to set the mock via the declared symbol. Use a single consistent global name across header and implementation.

Copilot uses AI. Check for mistakes.
Comment on lines +58 to +59
set(FAKE_SOURCE ${UTEST_ROOT}/fakes/FakeDRMSessionManager.cpp)

Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

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

UTEST_ROOT is not defined (this file defines UTESTS_ROOT), and the variable name is FAKE_SOURCE here but later referenced as FAKE_SOURCES. This will fail CMake configure/generate. Align the variable names and use the correct root variable.

Copilot uses AI. Check for mistakes.
Comment on lines +46 to 49
if (CMAKE_XCODE_BUILD_SYSTEM)
include(CodeCoverage)
APPEND_COVERAGE_COMPILER_FLAGS()
endif()
Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

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

Coverage flags are being added only when CMAKE_XCODE_BUILD_SYSTEM is set, but this is inside the test target and appears intended to be controlled by COVERAGE_ENABLED (as in other test CMakeLists). As written, COVERAGE_ENABLED builds on non-Xcode generators won't get coverage instrumentation for this target.

Copilot uses AI. Check for mistakes.
Comment on lines 39 to 42
MOCK_METHOD(void, generateDRMSession, (const uint8_t *f_pbInitData, uint32_t f_cbInitData, std::string &customData), (override));
MOCK_METHOD(DrmData*, generateKeyRequest, (std::string& destinationURL, uint32_t timeout), (override));
MOCK_METHOD(DrmData*, generateKeyRequest, (string& destinationURL, uint32_t timeout), (override));
MOCK_METHOD(int, processDRMKey, (DrmData* key, uint32_t timeout), (override));
MOCK_METHOD(int, decrypt, (GstBuffer* keyIDBuffer, GstBuffer* ivBuffer, GstBuffer* buffer, unsigned subSampleCount, GstBuffer* subSamplesBuffer, GstCaps* caps), (override));
MOCK_METHOD(int, decrypt, (const uint8_t *f_pbIV, uint32_t f_cbIV, const uint8_t *payloadData, uint32_t payloadDataSize, uint8_t **ppOpaqueData), (override));
MOCK_METHOD(KeyState, getState, (), (override));
Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

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

MOCK_METHOD(... generateKeyRequest, (string& destinationURL, ...)) uses string without a std:: qualifier (and no using directive is present). This will not compile; use std::string& to match the base class signature.

Copilot uses AI. Check for mistakes.
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 Mar 4, 2026

Choose a reason for hiding this comment

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

Doc comments use @patam instead of @param, which breaks Doxygen parameter documentation generation. Replace @patam with @param for these entries.

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.

6 participants