Skip to content

Feature/rialto hdmi issue#503

Open
balasaraswathy-n wants to merge 29 commits into
release/v0.15.2from
feature/RialtoHDMIIssue
Open

Feature/rialto hdmi issue#503
balasaraswathy-n wants to merge 29 commits into
release/v0.15.2from
feature/RialtoHDMIIssue

Conversation

@balasaraswathy-n
Copy link
Copy Markdown

test PR

skywojciechowskim and others added 28 commits December 19, 2025 09:53
Summary: Performance improvements in play request and flush
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: ENTDAI-1750 ENTDAI-1738 ENTDAI-485
Summary: Change Wayland Display for TextTrack
Type: Fix
Test Plan: UT/ CT, Fullstack
Jira: ENTDAI-2218
Summary: Fixed playback info reporting for not asynchronous playbacks
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: ENTDAI-2231
…minor changes added to make code safer. (#437)

Summary: Session server app changed to shared ptr to avoid invalid ptrs.
Some minor changes added to make code safer.
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: VPLAY-12448
Summary: Asure correct data & flush order during multiple flushes
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: NO-JIRA
Summary: Removed gstreamer interaction during RemoveSource
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: LLAMA-18057
Summary: Allow to switch audio codec, when audio is re-attached
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: LLAMA-18057
Summary: Microsoft Playready support for Amazon Prime RDK app
Type: Feature
Test Plan: UT/CT, Fullstack
Jira: NO-JIRA
Summary: Re-enabled CT
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: NO-JIRA
Summary: 'report-decode-errors' and 'queued-frames' properties missing from RialtoMSEVideoSink
Type: Feature
Test Plan: UT/CT, Fullstack
Jira: RDKEMW-12692
Summary: Added support for getting text-sink in getSink method
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: VPLAY-12522
Summary: Removed blocking get_state calls from aml codec switch
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: DELIA-70115
…from RialtoMSEVideoSink (#462)

Summary: Temporary revert of 'report-decode-errors' and 'queued-frames'
properties missing from RialtoMSEVideoSink. It revealed issues in some
apps.
Type: Feature
Test Plan: UT/CT, Fullstack
Jira: RDKEMW-12692
Summary: Switch unnecessary copy constructors with move semantics
    Type: Fix
    Test Plan: UT/CT, Fullstack
    Jira: RDKEMW-12966
Summary: Dedicated script to install dependencies and build native build
Type: Feature
Test Plan: UT/CT, Fullstack
Jira: RDKEMW-15078
Fix memory leaks in Rialto master

Summary: Finding potential memory leak points and adding fixes
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: RDKEMW-15495
…t. Added linking of typefind and the parser after the audio switch (#481)

Summary: Fixed initialisation of playbackGroup elements in GenericPlayerContext. Added linking of typefind and the parser after the audio switch
Type: Feature
Test Plan: UT/CT, Fullstack
Jira: RDKEMW-16807
…properties (#485)

Summary: 'report-decode-errors' and 'queued-frames' properties missing
from RialtoMSEVideoSink
Type: Feature
Test Plan: UT/CT, Fullstack
Jira: RDKEMW-12692
Summary: IMediaPipeline::GetDuration method added
Type: Feature
Test Plan: UT/CT, Fullstack
Jira: RDKEMW-16798
Summary: Implementation of the isLive parameter
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: RDKEMW-15424
Summary: Added profiling to Rialto Server. IProfiler for use throughout
server and IGstProfiler for use on server GST media pipeline. Added
IGstProfiler method calls throughout media/server pipeline for recording
points of interest. Added metrics calculation on top, with following one
line log.
Type: Feature
Test Plan: UT/CT, Fullstack
Jira: RDKEMW-11764

---------

Co-authored-by: Sasa Mudri <Sasa_Mudri@comcast.com>
Summary: retain preroll frames count
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: RDKEMW-13498

---------

Co-authored-by: rkandh015 <rekha_kandhavelan@comcast.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Marcin Wojciechowski <marcin.wojciechowski@sky.uk>
#492)

Revert "Bringing back support for "queued-frames" and
"report-decode-errors" properties (#485)"

Summary: Temporary revert of 'report-decode-errors' and 'queued-frames'
properties missing from RialtoMSEVideoSink. It revealed issues in some
apps.
Type: Feature
Test Plan: UT/CT, Fullstack
Jira: RDKEMW-12692
Summary: Do not treat server as deadlocked when outdated acks are
received
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: RDKEMW-18258
…tions (#494)

Summary: Disable synchronous play in RialtoServer as it caused some race
conditions
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: RDKEMW-18286
Reason for change: HCDP reauth retry logic needed
Test Procedure: Hot pug hdmi and observe retry log messages
Risks: Low
Priority: High

Signed-off-by: Adler, Douglas <Douglas_Adler2+comcast@comcast.com>
Copilot AI review requested due to automatic review settings May 19, 2026 15:52
@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/503/rdkcentral/rialto

  • Commit: 5eee279

Report detail: gist'

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 is a very large, cross-cutting change titled "Feature/rialto hdmi issue" with only "test PR" as the description. The changes span the public API, IPC protocol, server-side gstreamer player, CDM/media-keys handling, server manager, common utilities, and the corresponding unit/component tests.

Changes:

  • Public API changes: IMediaPipeline::load now takes isLive, play returns an async flag, new getDuration API; IMediaKeys::createKeySession drops isLDL and generateRequest gains a LimitedDurationLicense parameter; new OUTPUT_RESTRICTED error and LimitedDurationLicense enum.
  • Server-side gstplayer refactor: removal of RemoveSource task and audioSourceRemoved flag, new IGstProfiler/FlushOnPrerollController model, new playback-info timer, isLive propagation to setup-element, new gst wrapper APIs (probes, pad link/unlink, query duration, etc.), notifyNeedMediaData now uses a smaller kPrerollNumFrames count in non-PLAYING states.
  • Server-manager and common-lib changes: SessionServerAppFactory now returns shared_ptr, healthcheck failed-pings tracked as a set, new Profiler/ProfilerFactory, timer cancel-from-callback support, IPC server callbacks taken by const-ref.

Reviewed changes

Copilot reviewed 296 out of 296 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
media/public/include/IMediaPipeline.h, IMediaKeys.h, MediaCommon.h Public API: load(isLive), play(async), getDuration, LimitedDurationLicense, OUTPUT_RESTRICTED.
media/client/** Client/IPC plumbing for the new load/play/getDuration and updated createKeySession/generateRequest.
media/server/service/, media/server/main/ Service-layer signature updates; isExtendedInterfaceUsed rename; NeedMediaData prerolling frame count; ActiveRequests id-collision handling; MainThread task done flag.
media/server/gstplayer/** Removal of RemoveSource/audioSourceRemoved; new GstProfiler, FlushOnPrerollController waitIfRequired/setPrerolling flow, notifyPlaybackInfo timer, audio-rate-correction for live, link-typefind-with-parser logic.
proto/mediakeysmodule.proto Adds ldl_state to GenerateRequestRequest.
serverManager/** ISessionServerAppFactory now returns shared_ptr; SessionServerApp kill no longer resets m_pid; healthcheck failed-pings map value type changed to set<int>.
common/** New Profiler/ProfilerFactory; Timer supports cancellation from its own callback; EventThread dtor scope cleanup.
ipc/server/** addSocket callbacks now passed by const-ref.
tests/** Extensive updates: new GetDuration/Profiler/GstProfiler mocks, IsNetflixPlayreadyKeySystem and RemoveSource test suites deleted, fixture and test updates for the API signature changes, new component tests for switch-audio playback, set-drm-header, etc.
build_native.sh, install_dependencies_for_native_build.sh, .github/workflows/native_rialto_build.yml Native build refactored into helper shell scripts.
scripts/gtest/build_and_run_tests.py Sets PROFILER_ENABLED=true for all test suites.

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


// Step 7: Remove sources
willRemoveAudioSource();
// Step 7: Remove sources, kFrameCountInPlayingState
INTERFACE_NOT_IMPLEMENTED, /**< The interface is not implemented. */
BUFFER_TOO_SMALL /**< The size of the buffer is too small. */
BUFFER_TOO_SMALL, /**< The size of the buffer is too small. */
OUTPUT_RESTRICTED
constexpr std::uint32_t kBufferLen{7 * 1024 * 1024};
constexpr std::uint32_t kMetadataOffset{1024};
constexpr int kRequestId{0};
constexpr int kPrerollingNumFrames{3};
Comment on lines 298 to 301
if (m_pid > 0)
{
m_linuxWrapper->kill(m_pid, SIGKILL);
m_pid = -1;
}
Comment on lines +52 to 69

if (m_currentId == std::numeric_limits<std::uint32_t>::max())
{
m_currentId = 1;
}

auto [it, inserted] = m_requestMap.emplace(m_currentId, ActiveRequestsData(mediaSourceType, maxMediaBytes));
if (!inserted)
{
do
{
++m_currentId;
} while (m_requestMap.find(m_currentId) != m_requestMap.end());

m_requestMap.emplace(m_currentId, ActiveRequestsData(mediaSourceType, maxMediaBytes));
}

return m_currentId++;
@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/503/rdkcentral/rialto

  • Commit: a6011f8

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: a6011f8
    '

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.

9 participants