Feature/skipldsym#505
Open
balasaraswathy-n wants to merge 32 commits into
Open
Conversation
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>
Contributor
Contributor
There was a problem hiding this comment.
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
isLivetoload(), changeplay()to returnasyncvia out-param, and addgetDuration()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 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; |
Contributor
Contributor
|
b'## WARNING: A Blackduck scan failure has been waived A prior failure has been upvoted
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
HDMI unplug retry logic included