Skip to content

Feature/skipldsym#505

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

Feature/skipldsym#505
balasaraswathy-n wants to merge 32 commits into
release/v0.15.2from
feature/skipldsym

Conversation

@balasaraswathy-n
Copy link
Copy Markdown

HDMI unplug retry logic included

skywojciechowskim and others added 30 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 20, 2026 10:30
@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/505/rdkcentral/rialto

  • Commit: ecab42f

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 introduces several cross-cutting changes across the Rialto media stack, including new/updated MediaPipeline and MediaKeys APIs (live playback flag, play async-out parameter, duration query, and a LimitedDurationLicense parameter in DRM flows), plus additional infrastructure changes (profiling, flush-on-preroll handling, timer behavior updates, and native build workflow scripts).

Changes:

  • Extend MediaPipeline APIs: add isLive to load(), change play() to return async via out-param, and add getDuration() end-to-end (public API, IPC, server service, and tests).
  • Extend MediaKeys generateRequest flow: introduce LimitedDurationLicense (public API + proto) and propagate it through client/server stacks.
  • Add/adjust platform/infra behaviors: new profiler components, flush-on-preroll controller updates, ActiveRequests ID collision handling, Timer cancellation behavior changes, and native build scripts/workflow tweaks.

Reviewed changes

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

Show a summary per file
File Description
wrappers/include/OcdmSession.h Adds decrypt-buffer-once function pointer type/member.
wrappers/include/GstWrapper.h Adds wrapper methods for duration/state/pad/bin operations.
wrappers/CMakeLists.txt Adds include paths for common/logging headers.
stubs/opencdm/open_cdm_adapter.cpp Stubs new OpenCDM decrypt-buffer-once entrypoint.
serverManager/service/source/ServerManagerService.cpp Changes shutdown log level macro.
serverManager/serverManagerSim/HttpRequest.cpp Minor perf tweaks (move tokens), adds <utility>.
serverManager/ipc/source/Client.h Adds shutdown flag + event tag storage.
serverManager/common/source/ISessionServerAppFactory.h Factory now returns shared_ptr instead of unique_ptr.
serverManager/common/source/SessionServerAppFactory.h Updates return types to shared_ptr.
serverManager/common/source/SessionServerAppFactory.cpp Constructs SessionServerApp via make_shared.
serverManager/common/source/SessionServerApp.cpp Adjusts kill/waitpid interaction (PID no longer reset on kill).
serverManager/common/source/HealthcheckService.h Changes failed-pings tracking structure.
scripts/gtest/build_and_run_tests.py Enables profiler env var for all test suites; small formatting change.
proto/mediakeysmodule.proto Adds LimitedDurationLicense enum + ldl_state to GenerateRequestRequest.
media/public/include/MediaCommon.h Adds LimitedDurationLicense enum; adds OUTPUT_RESTRICTED error.
media/public/include/IMediaPipeline.h Adds isLive to load, changes play signature, adds getDuration().
media/public/include/IMediaKeys.h Removes isLDL from createKeySession; adds LDL state to generateRequest (defaulted).
media/server/service/include/IMediaPipelineService.h Extends interface for load(isLive), play(async), getDuration().
media/server/service/source/MediaPipelineService.h Implements updated service API signatures (incl. getDuration).
media/server/service/include/ICdmService.h Updates DRM service signatures to include LDL state.
media/server/service/source/CdmService.h Renames stored flag to isExtendedInterfaceUsed; updates API signatures.
media/server/service/source/WebAudioPlayerService.cpp Moves factory into member (std::move).
media/server/main/include/ShmUtils.h Adds kPrerollNumFrames constant.
media/server/main/source/NeedMediaData.cpp Sends smaller frame count when not PLAYING (preroll behavior).
media/server/main/source/ActiveRequests.cpp Reworks segment buffer ownership + requestId collision logic.
media/server/main/include/ActiveRequests.h Stores segment buffers to own copied segment data.
media/server/main/source/MainThread.cpp Fixes condition-variable wait with predicate + changes task passing to const-ref.
media/server/main/include/MainThread.h Adds done flag to TaskInfo; updates enqueue signatures.
media/server/main/interface/IMainThread.h Updates enqueue signatures to take const Task&.
media/server/main/interface/IDecryptionService.h Renames netflix-playready query to isExtendedInterfaceUsed.
media/server/main/interface/IMediaKeysServerInternal.h Removes isNetflixPlayreadyKeySystem() from internal interface.
media/server/main/include/IMediaKeySession.h Adds LDL-state param to generateRequest; removes netflix-playready query.
media/server/main/source/MediaPipelineCapabilities.cpp Avoids shared_ptr copy by taking factory as const&.
media/server/main/include/MediaPipelineCapabilities.h Matches ctor signature change.
media/server/main/source/MediaKeysCapabilities.cpp Adds string conversion for OUTPUT_RESTRICTED; avoids shared_ptr copies.
media/server/main/include/MediaKeysCapabilities.h Matches ctor signature change.
media/server/ipc/include/MediaPipelineModuleService.h Adds getDuration RPC handler.
media/server/gstplayer/include/Utils.h Adds isAudioParser declaration.
media/server/gstplayer/source/Utils.cpp Adds isAudioParser implementation.
media/server/gstplayer/include/IGstDispatcherThread.h Adds FlushOnPrerollController dependency to factory method.
media/server/gstplayer/include/GstDispatcherThread.h Stores flush controller + ctor/factory signature changes.
media/server/gstplayer/source/GstDispatcherThread.cpp Feeds pipeline state to flush controller and resets it on NULL.
media/server/gstplayer/include/IFlushOnPrerollController.h Redesigns interface (wait/setTargetState/etc.).
media/server/gstplayer/include/FlushOnPrerollController.h Adds cv/mutex, new API surface.
media/server/gstplayer/include/GenericPlayerContext.h Switches flush controller to shared_ptr; adds isLive + gstProfiler.
media/server/gstplayer/source/tasks/generic/Flush.cpp Updates flush logic to use controller + async behavior flag.
media/server/gstplayer/include/tasks/generic/Flush.h Adds isAsync parameter/member.
media/server/gstplayer/include/tasks/IGenericPlayerTaskFactory.h Updates flush factory signature; removes remove-source factory API.
media/server/gstplayer/include/tasks/generic/GenericPlayerTaskFactory.h Updates flush factory signature; removes remove-source method.
media/server/gstplayer/source/tasks/generic/GenericPlayerTaskFactory.cpp Removes remove-source task creation; updates flush task creation.
media/server/gstplayer/source/tasks/generic/Stop.cpp Stops playback-info timer on stop.
media/server/gstplayer/include/IGstGenericPlayerPrivate.h Updates changePipelineState return type; adds playback-info timers; removes some APIs.
media/server/gstplayer/include/IGstProfilerPrivate.h Adds new private profiler interface.
media/server/gstplayer/source/GstDecryptor.cpp Uses isExtendedInterfaceUsed to select extended key handling.
media/server/gstplayer/source/GstWebAudioPlayer.cpp Updates dispatcher thread factory call signature.
media/server/gstplayer/source/GstTextTrackSink.cpp Hardcodes subtitle display name instead of using WAYLAND_DISPLAY.
media/server/gstplayer/source/tasks/generic/UpdatePlaybackGroup.cpp Links typefind->parser when flagged; ctor takes wrappers by const-ref.
media/server/gstplayer/include/tasks/generic/UpdatePlaybackGroup.h Matches ctor signature change.
media/server/gstplayer/source/tasks/generic/SetupElement.cpp Enables decoder “rate correction” when isLive and property exists.
media/server/gstplayer/include/tasks/generic/SetupElement.h Matches ctor signature change.
media/server/gstplayer/source/tasks/generic/FinishSetupSource.cpp Adds profiler record for “All Sources Attached”.
media/server/gstplayer/source/tasks/generic/CheckAudioUnderflow.cpp Changes underflow enable logic (no longer checks audioSourceRemoved).
media/server/gstplayer/include/tasks/generic/CheckAudioUnderflow.h Matches ctor signature change.
media/server/gstplayer/source/tasks/generic/AttachSamples.cpp Uses std::move into vectors.
media/server/gstplayer/include/tasks/generic/SetPosition.h Pass wrappers by const-ref.
media/server/gstplayer/source/tasks/generic/SetPosition.cpp Matches ctor signature change.
media/server/gstplayer/include/tasks/generic/SetPlaybackRate.h Pass wrappers by const-ref.
media/server/gstplayer/source/tasks/generic/SetPlaybackRate.cpp Matches ctor signature change.
media/server/gstplayer/include/tasks/generic/SetMute.h Pass wrappers by const-ref.
media/server/gstplayer/source/tasks/generic/SetMute.cpp Matches ctor signature change.
media/server/gstplayer/include/tasks/generic/SetTextTrackIdentifier.h Pass wrapper by const-ref.
media/server/gstplayer/source/tasks/generic/SetTextTrackIdentifier.cpp Matches ctor signature change.
media/server/gstplayer/include/tasks/generic/SetVolume.h Pass wrappers by const-ref.
media/server/gstplayer/source/tasks/generic/SetVolume.cpp Matches ctor signature change.
media/server/gstplayer/include/tasks/generic/ProcessAudioGap.h Pass rdk wrapper by const-ref.
media/server/gstplayer/source/tasks/generic/ProcessAudioGap.cpp Matches ctor signature change.
media/server/gstplayer/source/tasks/generic/NeedData.cpp Removes early-exit for “audio source removed”.
media/server/gstplayer/source/tasks/webAudio/WriteBuffer.cpp Passes gst wrapper by const-ref.
media/server/gstplayer/include/tasks/webAudio/WriteBuffer.h Matches ctor signature change.
media/server/gstplayer/source/tasks/webAudio/SetVolume.cpp Passes gst wrapper by const-ref.
media/server/gstplayer/include/tasks/webAudio/SetVolume.h Matches ctor signature change.
media/server/gstplayer/source/tasks/webAudio/SetCaps.cpp Passes wrappers by const-ref (builders + task).
media/server/gstplayer/include/tasks/webAudio/SetCaps.h Matches ctor signature change.
media/server/gstplayer/source/tasks/webAudio/HandleBusMessage.cpp Passes wrappers by const-ref.
media/server/gstplayer/include/tasks/webAudio/HandleBusMessage.h Matches ctor signature change.
media/server/gstplayer/source/tasks/webAudio/Eos.cpp Passes gst wrapper by const-ref.
media/server/gstplayer/include/tasks/webAudio/Eos.h Matches ctor signature change.
media/server/gstplayer/CMakeLists.txt Removes RemoveSource task; adds GstProfiler.cpp to build.
common/source/Timer.cpp Changes cancel behavior + callback execution outside mutex.
common/source/EventThread.cpp Simplifies shutdown locking/unlocking.
common/include/Profiler.h Adds common profiler interface implementation header.
common/CMakeLists.txt Adds Profiler.cpp to common library.
build_native.sh Adds native build helper script.
install_dependencies_for_native_build.sh Adds dependency install helper script.
.github/workflows/native_rialto_build.yml Uses new helper scripts for native build job.
tests/common/externalLibraryMocks/GstWrapperMock.h Adds mocks for new GstWrapper methods.
tests/common/matchers/MediaPipelineProtoRequestMatchers.h Extends load matcher; adds getDuration matcher.
tests/common/matchers/MediaKeysProtoRequestMatchers.h Updates createKeySession matcher signature.
tests/common/protoUtils/MediaKeysProtoUtils.h Adds conversion helper for LDL state to proto.
tests/unittests/common/unittests/TimerTests.cpp Adds tests covering cancel-from-callback behaviors.
tests/unittests/common/unittests/CMakeLists.txt Adds ProfilerTests.cpp to suite.
tests/unittests/common/mocks/ProfilerMock.h Adds mock for common profiler.
tests/unittests/common/mocks/ProfilerFactoryMock.h Adds factory mock for common profiler.
tests/unittests/media/client/main/CMakeLists.txt Adds GetDuration unit test.
tests/unittests/media/client/main/mediaPipeline/GetDurationTest.cpp New client MediaPipeline getDuration unit tests.
tests/unittests/media/client/main/mediaPipeline/LoadTest.cpp Updates load signature to include isLive.
tests/unittests/media/client/main/mediaPipeline/PlayPauseTest.cpp Updates play signature to include async out-param.
tests/unittests/media/client/main/mediaPipeline/MediaPipelineProxyTest.cpp Updates load/play and adds getDuration passthrough test.
tests/unittests/media/client/mocks/ipc/MediaPipelineIpcMock.h Updates load/play signatures; adds getDuration mock.
tests/unittests/media/client/mocks/main/MediaPipelineAndControlClientMock.h Updates load/play signatures; adds getDuration mock.
tests/unittests/media/client/main/mediaKeys/KeySessionTest.cpp Updates createKeySession and generateRequest to LDL state.
tests/unittests/media/client/main/mediaKeys/NetflixKeySessionTest.cpp Updates createKeySession signature.
tests/unittests/media/client/ipc/CMakeLists.txt Adds MediaPipelineIpc GetDuration test.
tests/unittests/media/client/ipc/mediaPipelineIpc/LoadTest.cpp Updates load proto matcher to include is_live.
tests/unittests/media/client/ipc/mediaPipelineIpc/PlayPauseTest.cpp Updates play to take async out-param.
tests/unittests/media/client/ipc/mediaKeysIpc/base/MediaKeysIpcTestBase.cpp Updates createKeySession signature.
tests/unittests/media/interface/mocks/MediaKeysMock.h Updates createKeySession and generateRequest signatures.
tests/unittests/media/server/service/mediaPipelineService/MediaPipelineServiceTestsFixture.h Adds duration test helpers.
tests/unittests/media/server/service/mediaPipelineService/MediaPipelineServiceTests.cpp Adds getDuration tests.
tests/unittests/media/server/ipc/mediaPipelineModuleService/MediaPipelineModuleServiceTestsFixture.h Adds duration IPC fixture helpers.
tests/unittests/media/server/ipc/mediaPipelineModuleService/MediaPipelineModuleServiceTests.cpp Adds duration IPC tests.
tests/unittests/media/server/ipc/controlModuleService/ControlModuleServiceTests.cpp Adds register-without-schema-version test.
tests/unittests/media/server/mocks/service/MediaPipelineServiceMock.h Updates load/play signatures; adds getDuration mock.
tests/unittests/media/server/mocks/service/CdmServiceMock.h Updates createKeySession/generateRequest signatures.
tests/unittests/media/server/mocks/main/MediaPipelineServerInternalMock.h Updates load/play; adds getDuration mock.
tests/unittests/media/server/mocks/main/MediaKeysServerInternalMock.h Updates createKeySession/generateRequest signatures; removes netflix-playready mock.
tests/unittests/media/server/mocks/main/MediaKeySessionMock.h Updates generateRequest signature; removes netflix-playready mock.
tests/unittests/media/server/mocks/main/MediaKeySessionFactoryMock.h Updates createMediaKeySession signature (removes isLDL).
tests/unittests/media/server/mocks/main/MainThreadMock.h Updates enqueue methods to take const Task&.
tests/unittests/media/server/mocks/main/DecryptionServiceMock.h Renames netflix-playready query mock to isExtendedInterfaceUsed.
tests/unittests/media/server/mocks/gstplayer/GstGenericPlayerPrivateMock.h Updates changePipelineState return type; adds playback-info timer mocks; removes some APIs.
tests/unittests/media/server/mocks/gstplayer/GstGenericPlayerMock.h Updates play signature; adds getDuration mock.
tests/unittests/media/server/mocks/gstplayer/GstGenericPlayerFactoryMock.h Adds isLive parameter to factory.
tests/unittests/media/server/mocks/gstplayer/GstDispatcherThreadFactoryMock.h Adds flush controller parameter.
tests/unittests/media/server/mocks/gstplayer/GenericPlayerTaskFactoryMock.h Updates flush signature; removes remove-source factory mock.
tests/unittests/media/server/mocks/gstplayer/FlushOnPrerollControllerMock.h Matches new controller interface.
tests/unittests/media/server/mocks/gstplayer/GstProfilerMock.h Adds GstProfiler mock.
tests/unittests/media/server/mocks/gstplayer/GstProfilerFactoryMock.h Adds GstProfilerFactory mock.
tests/unittests/media/server/gstplayer/CMakeLists.txt Removes RemoveSource tests; adds profiler unit tests.
tests/unittests/media/server/gstplayer/decryptor/DecryptTest.cpp Updates call to isExtendedInterfaceUsed.
tests/unittests/media/server/gstplayer/genericPlayer/common/GstGenericPlayerTestCommon.h Wires profiler mocks and sink string constant.
tests/unittests/media/server/gstplayer/genericPlayer/common/GstGenericPlayerTestCommon.cpp Creates profiler in fixture; updates dispatcher thread factory call.
tests/unittests/media/server/gstplayer/genericPlayer/common/GenericTasksTestsContext.h Adds profiler mock to generic task context.
tests/unittests/media/server/gstplayer/genericPlayer/tasksTests/UpdatePlaybackGroupTest.cpp Adds typefind-parser link tests.
tests/unittests/media/server/gstplayer/genericPlayer/tasksTests/SetupElementTest.cpp Adds isLive setup test.
tests/unittests/media/server/gstplayer/genericPlayer/tasksTests/NeedDataTest.cpp Removes audio-source-removed skip test.
tests/unittests/media/server/gstplayer/genericPlayer/tasksTests/GenericPlayerTaskFactoryTest.cpp Removes RemoveSource factory test; updates Flush factory test.
tests/unittests/media/server/gstplayer/genericPlayer/tasksTests/FlushTest.cpp Removes postpone-flush test.
tests/unittests/media/server/gstplayer/genericPlayer/tasksTests/AttachSourceTest.cpp Renames/reshapes reattach audio tests.
tests/unittests/media/server/gstplayer/genericPlayer/GstDispatcherThreadClientTest.cpp Updates GstGenericPlayer ctor signature and dependencies.
tests/unittests/media/server/main/needMediaData/NeedMediaDataTestsFixture.h Adds helper for below-playing state need-data.
tests/unittests/media/server/main/needMediaData/NeedMediaDataTestsFixture.cpp Implements preroll-state need-data expectation.
tests/unittests/media/server/main/needMediaData/NeedMediaDataTests.cpp Adds prerolling-state need-data test.
tests/unittests/media/server/main/mediaPipeline/LoadTest.cpp Updates load to accept isLive; updates factory expectation.
tests/unittests/media/server/main/mediaPipeline/base/MediaPipelineTestBase.cpp Updates load invocation signature.
tests/unittests/media/server/main/mediaPipeline/HaveDataTest.cpp Updates expected frame count (24 -> 3).
tests/unittests/media/server/main/mediaPipeline/FlushTest.cpp Updates expected need-data frame count (24 -> 3).
tests/unittests/media/server/main/mediaPipeline/CallbackTest.cpp Updates expected preroll frame count (24 -> 3).
tests/unittests/media/server/main/mediaPipeline/SourceTest.cpp Removes gstPlayer removeSource expectation.
tests/unittests/media/server/main/activeRequests/ActiveRequestsTests.cpp Adds tests for duplicate-id handling.
tests/unittests/media/server/main/mediaKeySession/CreateTest.cpp Removes isLDL from ctor/factory use.
tests/unittests/media/server/main/mediaKeySession/CallbacksTest.cpp Renames test case.
tests/unittests/media/server/main/mediaKeySession/UpdateSessionTest.cpp Adds generateRequest+close expectations for Netflix.
tests/unittests/media/server/main/mediaKeySession/CloseKeySessionTest.cpp Adds generateRequest+destructSession expectations.
tests/unittests/media/server/main/mediaKeySession/base/MediaKeySessionTestBase.h Adds matchers/actions and LDL state/test vectors.
tests/unittests/media/server/main/mediaKeys/GenerateRequestTest.cpp Adds LDL state parameter to expectations/calls.
tests/unittests/media/server/main/mediaKeys/CreateKeySessionTest.cpp Removes isLDL from API/expectations.
tests/unittests/media/server/main/mediaKeys/base/MediaKeysTestBase.cpp Updates createKeySession signature.
tests/unittests/media/server/main/CMakeLists.txt Removes netflix-playready tests from build.
tests/unittests/serverManager/unittests/common/SessionServerAppTestsFixture.h SUT now shared_ptr.
tests/unittests/serverManager/unittests/common/SessionServerAppTestsFixture.cpp Uses make_shared; adjusts waitpid expectation.
tests/unittests/serverManager/unittests/common/SessionServerAppManagerTestsFixture.h Switches to shared_ptr mocks for apps.
tests/unittests/serverManager/mocks/SessionServerAppFactoryMock.h Factory mock now returns shared_ptr.
tests/unittests/serverManager/unittests/common/HealthcheckServiceTests.cpp Adds late-ack skip-restart test.
tests/unittests/ipc/mocks/IpcServerMock.h addSocket now takes callback const-refs.
ipc/server/include/IIpcServer.h addSocket now takes callback const-refs.
ipc/server/source/IpcServerImpl.h addSocket signatures updated to const-ref callbacks.
ipc/server/source/IpcServerImpl.cpp Updates addSocket implementations; simplifies lock scope in disconnectClient.
tests/componenttests/server/common/Constants.h Adds preroll/playing frame count constants.
tests/componenttests/server/common/ActionTraits.h Adds GetDuration action trait.
tests/componenttests/server/common/ExpectMessage.h Increases default timeout.
tests/componenttests/server/common/MessageBuilders.h Adds GetDuration builder; adds GenerateRequest “extendedInterface” arg.
tests/componenttests/server/common/MessageBuilders.cpp Implements GetDuration builder; maps “extendedInterface” to ldl_state.
tests/componenttests/server/fixtures/MediaPipelineTest.h Refactors push helpers and adds playback-info update toggles.
tests/componenttests/server/tests/CMakeLists.txt Swaps RemoveAudioPlaybackTest -> SwitchAudioPlaybackTest.
tests/componenttests/server/tests/mediaPipeline/*Test.cpp Adjusts preroll frame counts, removes willRemoveAudioSource in many cases.
tests/componenttests/server/tests/mediaKeys/MediaKeysTestMethods.h Adds Playready generate/close helpers; shares initData/license fields.
tests/componenttests/server/tests/mediaKeys/SessionReadyForDecryptionTest.cpp Adds “extended interface” generateRequest variant.
tests/componenttests/server/tests/mediaKeys/SetDrmHeaderTest.cpp Adds generateRequest/close steps around setDrmHeader.
tests/componenttests/client/tests/base/MediaPipelineTestMethods.h Adds getDuration support in CT client methods.
tests/componenttests/client/tests/mse/PipelinePropertyTest.cpp Adds GetDuration to property test steps.
tests/componenttests/client/mocks/MediaPipelineModuleMock.h Adds getDuration RPC + helper response builder.
media/client/main/include/MediaPipeline.h Updates load/play signatures and adds getDuration.
media/client/main/include/MediaPipelineProxy.h Updates load/play signatures and adds getDuration passthrough.
media/client/main/source/MediaPipeline.cpp Implements new load/play signatures and getDuration; moves needDataRequest into map.
media/client/ipc/interface/IMediaPipelineIpc.h Updates load/play signatures; adds getDuration.
media/client/ipc/include/MediaPipelineIpc.h Updates interface; declares getDuration.
media/client/ipc/source/MediaPipelineIpc.cpp Implements new load/play and adds getDuration IPC call.
media/client/main/include/MediaKeys.h Updates createKeySession and generateRequest signatures.
media/client/main/source/MediaKeys.cpp Implements updated createKeySession and generateRequest.
media/client/ipc/include/MediaKeysIpc.h Updates createKeySession and generateRequest signatures.
media/client/main/source/Control.cpp Uses move when storing clients.
media/client/main/source/ClientController.cpp Uses move when storing clients.
media/client/ipc/source/IpcClient.cpp Moves ipcChannel into blocking closure factory call.
logging/source/EnvVariableParser.cpp Moves final token string into result.
tests/unittests/media/server/gstplayer/webAudioPlayer/* Updates dispatcher thread factory signature in expectations.
tests/unittests/media/server/gstplayer/genericPlayer/tasksTests/RemoveSourceTest.cpp Removes obsolete remove-source task tests.
tests/unittests/media/server/main/mediaKeySession/IsNetflixPlayreadyKeySystemTest.cpp Removes obsolete netflix-playready test file.
tests/unittests/media/server/main/mediaKeys/IsNetflixPlayreadyKeySystemTest.cpp Removes obsolete netflix-playready test file.
media/server/gstplayer/include/tasks/generic/RemoveSource.h Removes unused RemoveSource task header.
tests/componenttests/server/tests/mediaPipeline/* Widespread updates for preroll frame count and remove-source behavior changes.
tests/unittests/media/server/gstplayer/genericPlayer/tasksTests/RemoveSourceTest.cpp Removes unused tests for removed task.
tests/unittests/media/server/gstplayer/genericPlayer/tasksTests/NeedDataTest.cpp Removes removed-source skip test.
tests/unittests/media/server/gstplayer/genericPlayer/tasksTests/FlushTest.cpp Removes postpone-flush test.
common/include/Profiler.h Introduces common profiler API implementation classes.

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

Comment thread common/source/Timer.cpp
Comment on lines +95 to +98
if (m_thread.joinable())
{
m_thread.detach();
}
m_currentId = 1;
}

auto [it, inserted] = m_requestMap.emplace(m_currentId, ActiveRequestsData(mediaSourceType, maxMediaBytes));
Comment on lines +61 to +64
do
{
++m_currentId;
} while (m_requestMap.find(m_currentId) != m_requestMap.end());
Comment on lines +451 to +454
if (extendedInterface)
{
request.set_ldl_state(::firebolt::rialto::GenerateRequestRequest_LimitedDurationLicense_DISABLED);
}
Comment on lines 1072 to +1077
* @param[in] type : The media type.
* @param[in] mimeType : The MIME type.
* @param[in] url : The URL.
* @param[in] isLive : Indicates if the media is live.
*/
virtual bool load(MediaType type, const std::string &mimeType, const std::string &url) = 0;
virtual bool load(MediaType type, const std::string &mimeType, const std::string &url, bool isLive) = 0;
@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/505/rdkcentral/rialto

  • Commit: ecab42f

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

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