Repository navigation
Conversation
- EosTest: EOS set for subtitle source; EOS deferred to PENDING while subtitle buffers are queued - FlushTest: subtitle flush clears queued buffers and EOS state (regression anchor for the subtitle-EOS-after-flush class of bug) - GenericTasksTestsBase: triggerEosSubtitle, setContextSubtitleBuffer, shouldFlushSubtitle(+SrcSuccess), checkSubtitleFlushed helpers
|
Pull request title must follow the pattern: Pull request description must follow the Commit message format for RDK-E:
< JIRA TICKET >: < one line summary of change less than 65 characters > |
There was a problem hiding this comment.
🟡 Changes recommended
The flush-start expectation incorrectly requires m_event2 instead of the factory-returned m_event, causing both existing video flush tests to fail.
1 open issue
What changed in this PR
Adds L1 unit coverage for subtitle EOS and flush handling in the generic GStreamer player, targeting a known subtitle-related video-freeze regression class.
Changes:
- Tests immediate subtitle EOS and deferred EOS when subtitle buffers are queued.
- Tests subtitle flushing clears queued buffers and EOS state.
- Adds shared subtitle setup, execution, and assertion helpers.
| File | Description |
|---|---|
| tests/unittests/media/server/gstplayer/genericPlayer/tasksTests/FlushTest.cpp | Adds subtitle flush coverage. |
| tests/unittests/media/server/gstplayer/genericPlayer/tasksTests/EosTest.cpp | Adds immediate and pending subtitle EOS tests. |
| tests/unittests/media/server/gstplayer/genericPlayer/common/GenericTasksTestsBase.h | Declares subtitle test helpers. |
| tests/unittests/media/server/gstplayer/genericPlayer/common/GenericTasksTestsBase.cpp | Implements subtitle helpers and changes a video flush mock expectation. |
Review effort: Balanced
| { | ||
| EXPECT_CALL(*testContext->m_gstWrapper, gstEventNewFlushStart()).WillOnce(Return(&testContext->m_event)); | ||
| EXPECT_CALL(*testContext->m_gstWrapper, gstElementSendEvent(&testContext->m_appSrcVideo, &testContext->m_event)) | ||
| EXPECT_CALL(*testContext->m_gstWrapper, gstElementSendEvent(&testContext->m_appSrcVideo, &testContext->m_event2)) |

Jira: RDKEMW-28184
What
Subtitle stabilization paths had no L1 coverage for EOS/flush despite owning a known regression class (VIPA video freeze on subtitle EOS/flush).
FlushTest/EosTestonly exercised AUDIO/VIDEO.Additions
EosTest.shouldSetEosForSubtitle- EOS pushed to subtitle appsrcEosTest.shouldSetEosPendingWhenSubtitleBuffersAreQueued- EOS deferred to PENDING while buffers queuedFlushTest.ShouldFlushSubtitle- subtitle flush clears queued buffers and EOS stateGenericTasksTestsBasehelpers:triggerEosSubtitle,setContextSubtitleBuffer,shouldFlushSubtitle,shouldFlushSubtitleSrcSuccess,checkSubtitleFlushedReviewed as part of the Rialto subtitle stabilization audit.