Skip to content

RDKEMW-28184: L1 tests: subtitle EOS and flush coverage - #693

Open
jaihere4u wants to merge 1 commit into
masterfrom
subtitle-test-coverage
Open

jaihere4u wants to merge 1 commit into
masterfrom
subtitle-test-coverage

Conversation

@jaihere4u

@jaihere4u jaihere4u commented Nov 3, 2026 •

Copy link
Copy Markdown

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/EosTest only exercised AUDIO/VIDEO.

Additions

  • EosTest.shouldSetEosForSubtitle - EOS pushed to subtitle appsrc
  • EosTest.shouldSetEosPendingWhenSubtitleBuffersAreQueued - EOS deferred to PENDING while buffers queued
  • FlushTest.ShouldFlushSubtitle - subtitle flush clears queued buffers and EOS state
  • GenericTasksTestsBase helpers: triggerEosSubtitle, setContextSubtitleBuffer, shouldFlushSubtitle, shouldFlushSubtitleSrcSuccess, checkSubtitleFlushed

Reviewed as part of the Rialto subtitle stabilization audit.

- 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
Copilot AI balanced review requested due to automatic review settings November 3, 2026 03:53
@jaihere4u jaihere4u changed the title L1 tests: subtitle EOS and flush coverage RDKEMW-28184: L1 tests: subtitle EOS and flush coverage Nov 3, 2026
@github-actions

github-actions Bot commented Nov 3, 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>

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.

🟡 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))

This branch has not been deployed

No deployments
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.

2 participants