Skip to content

RDKEMW-15078: Audio/Video decoder capabilities from YAML config - #467

Open
skywojciechowskim wants to merge 46 commits into
masterfrom
MediaPipelineCapabilitiesNewConfig
Open

RDKEMW-15078: Audio/Video decoder capabilities from YAML config#467
skywojciechowskim wants to merge 46 commits into
masterfrom
MediaPipelineCapabilitiesNewConfig

Conversation

@skywojciechowskim

@skywojciechowskim skywojciechowskim commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

RDKEMW-15078: Audio/Video decoder capabilities from YAML config

Reason for change: Add AudioDecoderCapabilities and VideoDecoderCapabilities with YAML config parsing, IPC serialization and unit test coverage.

Test Procedure: https://jira.rdkcentral.com/jira/browse/RDKEMW-15078

Copilot AI review requested due to automatic review settings March 26, 2026 12:14
@github-actions

github-actions Bot commented Mar 26, 2026

Copy link
Copy Markdown

Pull request title must follow the pattern:
< JIRA TICKET >: < one line summary of change less than 65 characters >

Pull request description must follow the Commit message format for RDK-E:
https://etwiki.sys.comcast.net/spaces/RDKAR/pages/1407997180/Commit+Message+Format+For+RDKE

  1. Associated JIRA ticket in format : < JIRA TICKET >: < one line summary of change less than 65 characters >
  2. Detailed reason for change information
  3. Test procedure. Only references links to Jira ticket or sub tickets where test steps and references are captured.

< JIRA TICKET >: < one line summary of change less than 65 characters >
< empty line >
Reason for change:
Test Procedure: < https://ccp.sys.comcast.net/browse/JIRA TICKET/url/to/test_step_section>

@rdkcmf-jenkins

Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/rialto/467/rdkcentral/rialto

  • Commit: 020941f

Report detail: gist'

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

Feature adds YAML-backed audio/video decoder capabilities and exposes them through server/client capabilities APIs and the IPC layer.

Changes:

  • Introduces YamlCppWrapper to parse decoder capabilities from YAML config files and wires it into the wrappers factory/accessor system.
  • Adds public capability data types (AudioDecoderCapabilities, VideoDecoderCapabilities) and new IPC/proto RPCs for retrieving them.
  • Updates server/client implementations plus unit/component tests and CI dependencies to cover the new APIs.

Reviewed changes

Copilot reviewed 60 out of 60 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
wrappers/source/YamlCppWrapperAccessor.cpp Factory accessor glue for the new YAML wrapper factory.
wrappers/source/YamlCppWrapper.cpp YAML parsing + construction of audio/video capability structures.
wrappers/source/FactoryAccessor.cpp Adds yamlCppWrapperFactory() creation to the wrapper factory accessor.
wrappers/interface/IYamlCppWrapper.h New wrapper interface for reading decoder capabilities from YAML.
wrappers/interface/IFactoryAccessor.h Extends factory accessor interface to provide IYamlCppWrapperFactory.
wrappers/include/YamlCppWrapper.h Concrete wrapper/factory declarations.
wrappers/include/FactoryAccessor.h Adds m_yamlCppWrapperFactory + accessor override.
wrappers/CMakeLists.txt Adds yaml-cpp dependency and builds new wrapper sources.
tests/unittests/media/server/service/mediaPipelineService/MediaPipelineServiceTestsFixture.h Adds test helpers for new capabilities calls.
tests/unittests/media/server/service/mediaPipelineService/MediaPipelineServiceTestsFixture.cpp Implements expectations + assertions for new capabilities calls.
tests/unittests/media/server/service/mediaPipelineService/MediaPipelineServiceTests.cpp Adds unit tests for audio/video capabilities retrieval.
tests/unittests/media/server/service/CMakeLists.txt Adds matchers include dir for new matcher usage.
tests/unittests/media/server/mocks/service/MediaPipelineServiceMock.h Extends service mock with new capabilities methods.
tests/unittests/media/server/mocks/main/MediaPipelineCapabilitiesMock.h Extends main capabilities mock with new methods.
tests/unittests/media/server/mocks/gstplayer/GstCapabilitiesMock.h Extends gst capabilities mock with new methods.
tests/unittests/media/server/main/mediaPipelineCapabilities/MediaPipelineCapabilitiesTest.cpp Adds tests for new server-side capabilities API.
tests/unittests/media/server/main/CMakeLists.txt Adds matchers include dir for new matcher usage.
tests/unittests/media/server/ipc/mediaPipelineCapabilitiesModule/MediaPipelineCapabilitiesModuleServiceTestsFixture.h Adds IPC service fixture helpers for new RPCs.
tests/unittests/media/server/ipc/mediaPipelineCapabilitiesModule/MediaPipelineCapabilitiesModuleServiceTestsFixture.cpp Implements new RPC request/response helpers and expectations.
tests/unittests/media/server/ipc/mediaPipelineCapabilitiesModule/MediaPipelineCapabilitiesModuleServiceTests.cpp Adds IPC module service tests for new RPCs.
tests/unittests/media/server/gstplayer/genericPlayer/GstCapabilitiesTest.cpp Updates GstCapabilities tests for YAML wrapper dependency + new getters.
tests/unittests/media/client/mocks/ipc/MediaPipelineCapabilitiesIpcMock.h Extends client IPC mock with new methods.
tests/unittests/media/client/main/mediaPipelineCapabilities/MediaPipelineCapabilitiesTest.cpp Adds client-side capabilities tests for new getters.
tests/unittests/media/client/ipc/mediaPipelineCapabilitiesIpc/MediaPipelineCapabilitiesIpcTest.cpp Adds IPC client tests for new capabilities RPCs.
tests/componenttests/server/tests/mediaPipelineCapabilities/MediaPipelineCapabilitiesTest.cpp Adds component tests for new capabilities RPCs.
tests/componenttests/server/fixtures/RialtoServerComponentTest.h Adds YAML wrapper mocks to server component-test fixture.
tests/componenttests/server/fixtures/RialtoServerComponentTest.cpp Wires YAML wrapper mocks and expected config responses.
tests/componenttests/server/common/MessageBuilders.h Adds request builders for new capabilities RPCs.
tests/componenttests/server/common/MessageBuilders.cpp Implements request builders for new capabilities RPCs.
tests/componenttests/server/common/Constants.h Adds constants for expected audio/video capabilities in CTs.
tests/componenttests/server/common/ActionTraits.h Adds CT action traits for new RPC methods.
tests/componenttests/client/tests/mse/MediaPipelineCapabilitiesTest.cpp Extends client CT flow to call new capabilities APIs.
tests/componenttests/client/tests/base/MediaPipelineTestMethods.h Adds CT helper declarations for new capabilities calls.
tests/componenttests/client/tests/base/MediaPipelineTestMethods.cpp Implements CT helper expectations + assertions for new capabilities calls.
tests/componenttests/client/mocks/MediaPipelineCapabilitiesModuleMock.h Extends CT protobuf stub mock with new RPCs + response builders.
tests/common/matchers/MediaPipelineStructureMatchers.h Adds matcher for comparing decoder capabilities structures.
tests/common/externalLibraryMocks/YamlCppWrapperMock.h Adds mocks for IYamlCppWrapper and its factory.
proto/mediapipelinecapabilitiesmodule.proto Adds new RPCs + messages/enums for audio/video capabilities transport.
media/server/service/source/MediaPipelineService.h Exposes new capabilities getters on server service.
media/server/service/source/MediaPipelineService.cpp Implements service getters delegating to capabilities component.
media/server/service/include/IMediaPipelineService.h Extends service interface with new capabilities getters.
media/server/main/source/MediaPipelineCapabilities.cpp Exposes new getters delegating to IGstCapabilities.
media/server/main/include/MediaPipelineCapabilities.h Extends server capabilities class interface.
media/server/ipc/source/MediaPipelineCapabilitiesModuleService.cpp Adds RPC implementations + conversions to/from proto for capabilities.
media/server/ipc/include/MediaPipelineCapabilitiesModuleService.h Declares new RPC handler methods.
media/server/gstplayer/source/GstCapabilities.cpp Injects YAML wrapper, loads capabilities at construction, adds getters.
media/server/gstplayer/interface/IGstCapabilities.h Adds new capabilities getters to gst capabilities interface.
media/server/gstplayer/include/GstCapabilities.h Adds YAML wrapper dependency + stores capabilities in members.
media/public/include/VideoDecoderCapabilities.h New public types for video decoder capabilities.
media/public/include/MediaCommon.h Adds DecoderCapabilitiesStatus enum for config read result.
media/public/include/IMediaPipelineCapabilities.h Extends public capabilities interface with new getters.
media/public/include/AudioDecoderCapabilities.h New public types for audio decoder capabilities.
media/public/CMakeLists.txt Installs the new public headers.
media/client/main/source/MediaPipelineCapabilities.cpp Adds client-facing getters delegating to IPC implementation.
media/client/main/include/MediaPipelineCapabilities.h Declares client-facing getters.
media/client/ipc/source/MediaPipelineCapabilitiesIpc.cpp Implements new IPC calls + proto-to-struct conversions.
media/client/ipc/include/MediaPipelineCapabilitiesIpc.h Declares new IPC getters.
.github/workflows/valgrind_ut.yml Adds yaml-cpp dev package to CI dependencies.
.github/workflows/native_rialto_build.yml Adds yaml-cpp dev package to native build workflow dependencies.
.github/workflows/actions/init_ut/action.yml Adds yaml-cpp dev package to UT init action dependencies.

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

Comment thread wrappers/source/YamlCppWrapper.cpp Outdated
Comment thread wrappers/source/YamlCppWrapper.cpp Outdated
Comment thread wrappers/source/YamlCppWrapper.cpp Outdated
Comment thread wrappers/source/YamlCppWrapper.cpp Outdated
Comment thread wrappers/interface/IYamlCppWrapper.h Outdated
Comment thread .github/workflows/native_rialto_build.yml Outdated
Comment thread wrappers/source/YamlCppWrapper.cpp
Comment thread wrappers/source/YamlCppWrapper.cpp
Comment thread wrappers/source/YamlCppWrapper.cpp Outdated
@rdkcmf-jenkins

Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/rialto/467/rdkcentral/rialto

  • Commit: f0f1a58

Report detail: gist'

@rdkcmf-jenkins

Copy link
Copy Markdown
Contributor

b'## WARNING: A Blackduck scan failure has been waived

A prior failure has been upvoted

  • Upvote reason: ok

  • Commit: f0f1a58
    '

@github-actions

Copy link
Copy Markdown

Coverage statistics of your commit:
WARNING: Lines coverage decreased from: 84.4% to 80.7%
WARNING: Functions coverage decreased from: 92.5% to 90.2%

Copilot AI review requested due to automatic review settings March 27, 2026 08:22

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

Copilot reviewed 60 out of 60 changed files in this pull request and generated 7 comments.


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

Comment thread wrappers/source/YamlCppWrapper.cpp
Comment thread wrappers/source/YamlCppWrapper.cpp
Comment thread wrappers/source/YamlCppWrapper.cpp
Comment thread wrappers/source/YamlCppWrapper.cpp
Comment thread wrappers/source/YamlCppWrapper.cpp
@github-actions

Copy link
Copy Markdown

Coverage statistics of your commit:
WARNING: Lines coverage decreased from: 84.4% to 80.7%
WARNING: Functions coverage decreased from: 92.5% to 90.2%

@github-actions

Copy link
Copy Markdown

Coverage statistics of your commit:
WARNING: Lines coverage decreased from: 84.4% to 80.7%
WARNING: Functions coverage decreased from: 92.5% to 90.2%

Copilot AI review requested due to automatic review settings April 8, 2026 09:38

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

Copilot reviewed 68 out of 70 changed files in this pull request and generated no new comments.

Suppressed comments (5)

wrappers/source/YamlCppWrapper.cpp:646

  • getVideoDecoderCapabilities() appends to capabilities.capabilities without clearing it first. If the same VideoDecoderCapabilities instance is reused (or if an exception occurs mid-parse), callers can end up with stale/partial data even when returning an error status. Reset the output struct at the beginning of the function to keep it in a known state on failure.
    wrappers/source/YamlCppWrapper.cpp:613
  • getAudioDecoderCapabilities() appends to capabilities.capabilities without clearing it first. If the same AudioDecoderCapabilities instance is reused (or if an exception occurs mid-parse), callers can end up with stale/partial data even when returning an error status. Reset the output struct at the beginning of the function to keep it in a known state on failure.
    openspec/changes/hfp-schema-v1-migration/specs/audio-decoder-capabilities/spec.md:6
  • This spec says all AudioProfileCapability fields are uint32_t, but the implementation in media/public/include/AudioDecoderCapabilities.h defines maxBitrateInBps as uint64_t (and the YAML/proto parsing also uses 64-bit). The spec should match the public API types to avoid misleading consumers.
The system SHALL define an `AudioProfileCapability` struct containing `maxBitrateInBps`,
`maxChannels`, `maxSampleRateInHz`, and `maxBitDepth`, all as `uint32_t` (required, not
optional).

media/public/include/MediaCommon.h:120

  • MediaSourceStatus::OK's documentation is currently broken: the stray /**< Config file read successfully */ comment is unrelated to MediaSourceStatus and the actual OK description is detached onto the next line. This will generate confusing/incorrect API docs for a public header.
    OK,
    /**< Config file read successfully */ /**< Source data provided without error. */
    EOS,                                  /**< Source reached the end of stream. */
    ERROR,                                /**< There was an error providing source data. */

openspec/changes/hfp-schema-v1-migration/specs/video-decoder-capabilities/spec.md:7

  • This spec describes profiles and dynamicRanges as vectors of strings, but the public API in media/public/include/VideoDecoderCapabilities.h uses typed profile structs (e.g. H264Profile) and std::vector<DynamicRange> (enum). Update the spec wording to match the actual API surface so readers don't assume string-based types.
The system SHALL define per-codec capability structs (`Mpeg2CodecCapability`,
`H264CodecCapability`, `H265CodecCapability`, `Vp9CodecCapability`,
`Av1CodecCapability`), each containing a `profiles` vector and a `dynamicRanges`
vector of strings.

@github-actions

github-actions Bot commented Aug 2, 2026

Copy link
Copy Markdown

Coverage statistics of your commit:
WARNING: Lines coverage decreased from: 84.4% to 82.6%
WARNING: Functions coverage decreased from: 92.7% to 91.8%

@rdkcmf-jenkins

Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/rialto/467/rdkcentral/rialto

  • Commit: 097baa7

Report detail: gist'

Add all remaining audio codec types (MpegAudio, RealAudio, Usac, Dts, Avs)
and expand video codec profiles to cover all H264/H265/VP9/AV1/MPEG2 profile
types, levels, and all DynamicRange values (HLG, HDR10PLUS, DOLBY_VISION).

MediaPipelineCapabilitiesIpc.cpp coverage: 42.5% -> 92.9% lines, 100% functions.
Overall PR coverage: 84.6% lines / 93.2% functions (above master 84.4% / 92.7%)
Copilot AI review requested due to automatic review settings August 3, 2026 07:47

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

Copilot reviewed 68 out of 70 changed files in this pull request and generated no new comments.

Suppressed comments (7)

wrappers/source/YamlCppWrapper.cpp:641

  • YAML::LoadFile() throws YAML::BadFile when the capabilities file is missing/unreadable. The current catch-all maps this to SCHEMA_VALIDATION_FAILED, which prevents callers (e.g. GstCapabilities) from treating missing HFP config as the expected CONFIG_NOT_FOUND case.
    wrappers/source/YamlCppWrapper.cpp:674
  • Same as audio: a missing/unreadable file will throw YAML::BadFile and is currently reported as SCHEMA_VALIDATION_FAILED instead of CONFIG_NOT_FOUND. This makes the server treat an expected absence of HFP config as a real failure.
    media/server/ipc/source/MediaPipelineCapabilitiesModuleService.cpp:702
  • Same unused-variable issue as in getSupportedAudioCapabilities(): ipcController is assigned but never used after the type check.
    RIALTO_SERVER_LOG_DEBUG("entry:");
    auto ipcController = dynamic_cast<firebolt::rialto::ipc::IController *>(controller);
    if (!ipcController)
    {
        RIALTO_SERVER_LOG_ERROR("ipc library provided incompatible controller object");
        controller->SetFailed("ipc library provided incompatible controller object");
        done->Run();
        return;
    }

tests/unittests/wrappers/YamlCppWrapperTest.cpp:80

  • Same as the audio file-not-found test: missing video YAML should be treated as CONFIG_NOT_FOUND (expected on platforms without HFP config), not as a schema validation failure.
    media/public/include/MediaCommon.h:123
  • MediaSourceStatus::OK has a stray/incorrect Doxygen comment on the next line ("Config file read successfully"), which appears unrelated to this enum and breaks the existing per-enum-value documentation formatting.
    OK,
    /**< Config file read successfully */ /**< Source data provided without error. */
    EOS,                                  /**< Source reached the end of stream. */

tests/unittests/wrappers/YamlCppWrapperTest.cpp:74

  • These file-not-found tests currently expect SCHEMA_VALIDATION_FAILED, but GstCapabilities (and the new DecoderCapabilitiesStatus enum) distinguish missing config (CONFIG_NOT_FOUND) from schema errors. Once YamlCppWrapper maps YAML::BadFile to CONFIG_NOT_FOUND, this expectation should be updated.

This issue also appears on line 76 of the same file.
media/server/ipc/source/MediaPipelineCapabilitiesModuleService.cpp:679

  • ipcController is only used to validate the controller type, but the local variable itself is never used afterwards. This can trigger -Wunused-variable warnings (and potential build failures if warnings are treated as errors).

This issue also appears on line 694 of the same file.

    RIALTO_SERVER_LOG_DEBUG("entry:");
    auto ipcController = dynamic_cast<firebolt::rialto::ipc::IController *>(controller);
    if (!ipcController)
    {
        RIALTO_SERVER_LOG_ERROR("ipc library provided incompatible controller object");
        controller->SetFailed("ipc library provided incompatible controller object");
        done->Run();
        return;
    }

@rdkcmf-jenkins

Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/rialto/467/rdkcentral/rialto

  • Commit: 3b7b163

Report detail: gist'

Copilot AI review requested due to automatic review settings August 3, 2026 08:07
@rdkcmf-jenkins

Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/rialto/467/rdkcentral/rialto

  • Commit: 9f51634

Report detail: gist'

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

Copilot reviewed 68 out of 70 changed files in this pull request and generated no new comments.

Suppressed comments (5)

wrappers/source/YamlCppWrapper.cpp:614

  • getAudioDecoderCapabilities() appends to the provided output struct without clearing it first. If the same AudioDecoderCapabilities instance is reused, results will accumulate/duplicate unexpectedly.
    wrappers/source/YamlCppWrapper.cpp:641
  • Missing/absent YAML file is likely to throw from YAML::LoadFile(...) (rather than returning a null node), which means the function will currently return SCHEMA_VALIDATION_FAILED instead of CONFIG_NOT_FOUND. This also makes DecoderCapabilitiesStatus::CONFIG_NOT_FOUND effectively unreachable here.
    wrappers/source/YamlCppWrapper.cpp:647
  • getVideoDecoderCapabilities() appends to the provided output struct without clearing it first. Reusing a VideoDecoderCapabilities instance would accumulate/duplicate entries unexpectedly.
    wrappers/source/YamlCppWrapper.cpp:674
  • Missing/absent YAML file is likely to throw from YAML::LoadFile(...), so this currently returns SCHEMA_VALIDATION_FAILED instead of CONFIG_NOT_FOUND on file-not-found.
    media/public/include/MediaCommon.h:123
  • MediaSourceStatus::OK has a stray/incorrect doc comment ("Config file read successfully") and the doxygen comment for OK is no longer attached to the enumerator, which makes the public API docs misleading.
    OK,
    /**< Config file read successfully */ /**< Source data provided without error. */
    EOS,                                  /**< Source reached the end of stream. */
    ERROR,                                /**< There was an error providing source data. */
    CODEC_CHANGED,                        /**< The codec has changed and the decoder must be reconfigured */

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Coverage statistics of your commit:
WARNING: Lines coverage decreased from: 84.4% to 83.6%
WARNING: Functions coverage decreased from: 92.7% to 92.2%

Copilot AI review requested due to automatic review settings August 3, 2026 09:38
…dec coverage

Add all audio codec types (AAC/MP3/ALAC/SBC/DolbyAC3/DolbyAC4/DolbyEac3/
DolbyTruehd/FLAC/Vorbis/Opus/MpegAudio/RealAudio/USAC/DTS/AVS) and all
video codec types (H264/H265/VP9/AV1/MPEG2) to the server IPC capabilities
module test fixture.

Add GstCapabilities tests for CONFIG_NOT_FOUND and error status paths.

Unit-test-only coverage: 84.4% lines / 92.9% functions (>= master 84.4% / 92.7%)

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

Copilot reviewed 68 out of 70 changed files in this pull request and generated no new comments.

Suppressed comments (6)

wrappers/source/YamlCppWrapper.cpp:641

  • YAML::LoadFile() throws YAML::BadFile when the YAML file is missing/unreadable, so the current catch (std::exception) path will incorrectly map a missing config to SCHEMA_VALIDATION_FAILED (making CONFIG_NOT_FOUND effectively unreachable for the common "file not present" case). Catch YAML::BadFile explicitly and return CONFIG_NOT_FOUND.
    wrappers/source/YamlCppWrapper.cpp:674
  • Same issue as audio: YAML::LoadFile() will throw YAML::BadFile if the video capabilities file is missing, but the code currently returns SCHEMA_VALIDATION_FAILED for all exceptions. This prevents callers from distinguishing missing config vs. schema errors.
    openspec/changes/hfp-schema-v1-migration/specs/audio-decoder-capabilities/spec.md:6
  • This requirement says all AudioProfileCapability fields are uint32_t, but the implementation and the protobuf contract use uint64/uint64_t for maxBitrateInBps (e.g. AudioProfileCapability::maxBitrateInBps and max_bitrate_in_bps). Please align the spec text with the actual types to avoid confusion for API consumers.
The system SHALL define an `AudioProfileCapability` struct containing `maxBitrateInBps`,
`maxChannels`, `maxSampleRateInHz`, and `maxBitDepth`, all as `uint32_t` (required, not
optional).

wrappers/CMakeLists.txt:55

  • yaml-cpp is linked unconditionally (see target_link_libraries(... yaml-cpp)), but find_package(yaml-cpp REQUIRED) is currently only called in the non-UnitTests/non-ComponentTests branch. This can make test builds fail at configure/link time depending on the toolchain setup. Either link yaml-cpp conditionally, or (simplest) make find_package(yaml-cpp REQUIRED) unconditional so it matches the unconditional link dependency.
    media/public/include/MediaCommon.h:119
  • MediaSourceStatus::OK has a garbled/incorrect doxygen comment ("Config file read successfully") that is unrelated to media source reads and also breaks the one-enumerator-per-line formatting. This looks like an accidental paste and will generate confusing API docs.
enum class MediaSourceStatus
{
    OK,
    /**< Config file read successfully */ /**< Source data provided without error. */
    EOS,                                  /**< Source reached the end of stream. */

openspec/changes/hfp-schema-v1-migration/tasks.md:9

  • Task 2.1 states all AudioProfileCapability fields are uint32_t, but the code/proto use uint64_t/uint64 for maxBitrateInBps. Update this task text to match the implemented types so the migration checklist stays accurate.
- [x] 2.1 Add `AudioProfileCapability` struct with `maxBitrateInBps`, `maxChannels`, `maxSampleRateInHz`, `maxBitDepth` (all `uint32_t`, not optional)

@rdkcmf-jenkins

Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/rialto/467/rdkcentral/rialto

  • Commit: f14b769

Report detail: gist'

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Coverage statistics of your commit:
Lines coverage stays unchanged and is: 84.4%
Congratulations, your commit improved functions coverage from: 92.7% to 92.9%

@rdkcmf-jenkins

Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/rialto/467/rdkcentral/rialto

  • Commit: 23dbcb0

Report detail: gist'

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Coverage statistics of your commit:
Lines coverage stays unchanged and is: 84.4%
Congratulations, your commit improved functions coverage from: 92.7% to 92.9%

@Usha2124 Usha2124 changed the title Audio and Video decoder capabilities read from YAML configuration file RDKEMW 15078: Audio and Video decoder capabilities read from YAML configuration file Aug 3, 2026
@Usha2124 Usha2124 changed the title RDKEMW 15078: Audio and Video decoder capabilities read from YAML configuration file RDKEMW-15078: Audio and Video decoder capabilities read from YAML configuration file Aug 3, 2026
@Usha2124 Usha2124 changed the title RDKEMW-15078: Audio and Video decoder capabilities read from YAML configuration file RDKEMW-15078: Audio/Video decoder capabilities from YAML config Aug 3, 2026
@rdkcmf-jenkins

Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/rialto/467/rdkcentral/rialto

  • Commit: 378b09e

Report detail: gist'

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Coverage statistics of your commit:
Lines coverage stays unchanged and is: 84.4%
Congratulations, your commit improved functions coverage from: 92.7% to 92.9%

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