Skip to content

Fixed playback info reporting for not asynchronous playbacks - #653

Open
smudri85 wants to merge 3 commits into
release/v0.15.2from
PlaybackInfoReportAsync
Open

smudri85 wants to merge 3 commits into
release/v0.15.2from
PlaybackInfoReportAsync

Conversation

@smudri85

Copy link
Copy Markdown
Contributor

Summary: Fixed playback info reporting for not asynchronous playbacks
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: ENTDAI-2231

Summary: Fixed playback info reporting for not asynchronous playbacks
Type: Fix
Test Plan: UT/CT, Fullstack
Jira: ENTDAI-2231
Copilot AI balanced review requested due to automatic review settings October 23, 2026 14:19
@github-actions

Copy link
Copy Markdown

Pull request must be merged with a description containing the required fields,

Summary:
Type: Feature/Fix/Cleanup
Test Plan:
Jira:

If there is no jira releated to this change, please put 'Jira: NO-JIRA'.

Description can be changed by editing the top comment on your pull request and making a new commit.

@github-actions

Copy link
Copy Markdown

tests/unittests/media/server/gstplayer/genericPlayer/common/GenericTasksTestsBase.cpp:2373:0: style: The function 'shouldStopPositionReportingAndCheckAudioUnderflowTimer' is never used. [unusedFunction]
void GenericTasksTestsBase::shouldStopPositionReportingAndCheckAudioUnderflowTimer()
^
nofile:0:0: information: Active checkers: 161/592 (use --checkers-report= to see details) [checkersReport]

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 successful-flush component scenario should remain enabled to preserve regression coverage for the modified flush and timer lifecycle.

1 open issue
What changed in this PR

This PR separates playback-info reporting from position and audio-underflow monitoring so reporting can continue for non-asynchronous playback.

Changes:

  • Adds independent playback-info timer controls and integrates them with pipeline state changes and stopping.
  • Adjusts flush handling and updates unit tests for the separate timers.
  • Updates component-test fixtures for playback-info events and disables the successful-flush scenario.
File Description
tests/​unittests/​media/​server/​mocks/​gstplayer/​GstGenericPlayerPrivateMock.h Mocks the new timer controls.
tests/​unittests/​media/​server/​gstplayer/​genericPlayer/​tasksTests/​HandleBusMessageTest.cpp Updates paused-state timer expectations.
tests/​unittests/​media/​server/​gstplayer/​genericPlayer/​GstGenericPlayerPrivateTest.cpp Tests playback-info timers independently.
tests/​unittests/​media/​server/​gstplayer/​genericPlayer/​common/​GenericTasksTestsBase.h Declares a timer-stop expectation helper.
tests/​unittests/​media/​server/​gstplayer/​genericPlayer/​common/​GenericTasksTestsBase.cpp Adjusts stop and flush expectations.
tests/​componenttests/​server/​tests/​mediaPipeline/​FlushTest.cpp Uses the shared sink fixture and disables the success test.
tests/​componenttests/​server/​fixtures/​MediaPipelineTest.h Declares playback-info suppression helpers and shared sink.
tests/​componenttests/​server/​fixtures/​MediaPipelineTest.cpp Separates event suppression and updates sink mocking.
media/​server/​gstplayer/​source/​tasks/​generic/​Stop.cpp Stops the playback-info timer explicitly.
media/​server/​gstplayer/​source/​tasks/​generic/​HandleBusMessage.cpp Controls timers on pipeline state changes.
media/​server/​gstplayer/​source/​tasks/​generic/​Flush.cpp Removes the explicit position-timer stop during flush.
media/​server/​gstplayer/​source/​GstGenericPlayer.cpp Separates timer implementations and removes a position-query warning.
media/​server/​gstplayer/​include/​IGstGenericPlayerPrivate.h Adds private playback-info timer methods.
media/​server/​gstplayer/​include/​GstGenericPlayer.h Declares the new timer overrides.

Review effort: Balanced

* Code:
*/
TEST_F(FlushTest, flushAudioSourceSuccess)
TEST_F(FlushTest, DISABLED_flushAudioSourceSuccess)
…test helper

The helper came with the #435 backport, where it is used only by
RemoveSourceTest. On v0.15.2 RemoveSource does not stop the position
reporting timer, so the v0.15.2 version of RemoveSourceTest was kept
and the helper was left unused, failing cppcheck [unusedFunction].

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 23, 2026 18:04

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.

🔵 Needs a closer look

The successful flush component test is disabled, removing regression coverage directly relevant to the timer-lifecycle changes.

1 open issue

Review effort: Balanced

@github-actions

Copy link
Copy Markdown

Coverage statistics of your commit:
Congratulations, your commit improved lines coverage from: 0.0% to 84.3%
Congratulations, your commit improved functions coverage from: 0.0% to 92.5%

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.

3 participants