Skip to content

VPAAMP-474 [AAMP][Xione-Dhruv]- CC fails to resume after midroll ad when user performs Play/Pause actions during ad playback#185

Open
cpc005 wants to merge 3 commits into
developfrom
feature/vpaamp-474
Open

VPAAMP-474 [AAMP][Xione-Dhruv]- CC fails to resume after midroll ad when user performs Play/Pause actions during ad playback#185
cpc005 wants to merge 3 commits into
developfrom
feature/vpaamp-474

Conversation

@cpc005

@cpc005 cpc005 commented Jun 30, 2026

Copy link
Copy Markdown

Also VPAAMP-187 [RDKE][Xione UK][VOD]Subtitles not displayed after enabling un-skippable ads
Reason for change: In InterfacePlayerRDK::SetupStream() an attempt is made to unmute the subtitles before gstreamer has configured the pipeline. The unmute gets lost.

  • Delay setting of the unmute until state changes to PLAY.
  • Do not mute subtitles just because PlayerCCManger::Init() is called

Copilot AI review requested due to automatic review settings June 30, 2026 11:29
@cpc005
cpc005 requested a review from a team as a code owner June 30, 2026 11:29
@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


Patrick Conduit seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

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.

Pull request overview

This PR aims to fix closed captions/subtitle resume issues (VPAAMP-474) by deferring subtitle unmute until the GStreamer pipeline is confirmed ready (PLAYING), avoiding an early unmute that can be lost during pipeline setup.

Changes:

  • Introduces setSubtitlePending to defer subtitle unmute until the pipeline reaches PLAYING.
  • Updates bus state-change handling to apply the deferred subtitle unmute.

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

Comment thread InterfacePlayerRDK.cpp
Comment on lines 2368 to 2370
interfacePlayerPriv->gstPrivateContext->subtitle_sink = GST_ELEMENT(gst_object_ref(stream->sinkbin));
g_object_set(stream->sinkbin, "mute", interfacePlayerPriv->gstPrivateContext->subtitleMuted ? TRUE : FALSE, NULL);
interfacePlayerPriv->gstPrivateContext->setSubtitlePending = true;
return 0;
Comment thread gst-plugins/drm/gst/gstcdmidecryptor.cpp
Comment thread InterfacePlayerRDK.cpp
Comment on lines +4513 to +4519
// Subtitle unmute lost in SetupStream() because gstreamer pipeline not ready
// Set subtitle state now we know pipeline is ready
if (privatePlayer->gstPrivateContext->subtitle_sink && privatePlayer->gstPrivateContext->setSubtitlePending && !privatePlayer->gstPrivateContext->subtitleMuted)
{
pInterfacePlayerRDK->SetSubtitleMute(false);
privatePlayer->gstPrivateContext->setSubtitlePending = false;
}
@cpc005
cpc005 changed the base branch from main to develop June 30, 2026 11:37
Copilot AI review requested due to automatic review settings July 21, 2026 08:19

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.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

InterfacePlayerRDK.cpp:4524

  • The deferred subtitle logic only applies an unmute when subtitleMuted is false. If subtitleMuted is true (default), the sink’s mute property is never applied once the pipeline becomes ready, so subtitles may render even though subtitleMuted indicates they should be muted; additionally setSubtitlePending is never cleared in that case.

Apply the pending subtitle mute state (true/false) once PLAYING is reached and clear the pending flag unconditionally.

				if (privatePlayer->gstPrivateContext->subtitle_sink && privatePlayer->gstPrivateContext->setSubtitlePending && !privatePlayer->gstPrivateContext->subtitleMuted)
				{
					pInterfacePlayerRDK->SetSubtitleMute(false);
					privatePlayer->gstPrivateContext->setSubtitlePending = false;
				}

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