-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
setTextTrackVisibility bug #1938
Comments
Hey @bcupac thanks for reporting! |
can't share the manifest or sub, will find a way to either recreate or further debug, thanks!:) |
I can reproduce with our demo and the content in it. Steps:
|
After addTextTrack() is called, there is one text track, which is marked "active". A network request for the subs has been made. The text displayer has a list of cues. isTextTrackVisible() on the player agrees with the internal state of the text displayer. After selecting English from the UI, isTextTrackVisible() and the internal state of the text displayer both show that text should be visible, but it's not. |
Ah, because "cues" is empty after enabling the display of text. |
|
It's unclear which is the fault: either that |
So, when
is called, it calls
which runs this
Now, when we select a text track, we again call
but now :
is false, so the code block does not trigger.
gets called and it triggers
so the next time we turn on the subtitles:
is true so the if code block is executed and it starts working and displaying subtitles. |
This should be working now, please feel free to reopen if you're still seeing the issue. |
We start streaming text once subtitles have been enabled. With external text, we used to create a media state for it as soon as text was added even if captions were disabled and we did not actually stream, although no text was being parsed and shown. This lead to the following problem: If external text was added with subtitles disabled, we created the media state with no actual cues in it. Once the subtitles were enabled, we saw that a media state existed for text and assumed it had content. So, we started streaming, but nothing was shown. This change makes us only create the media state if subtitles are enabled and defer creation otherwise. Closes #1938. Change-Id: Iee39c30fbd6b7f0abe7772dfb75cba561fcc9998
On our demo page, I tried to play 'Angle One (HLS, MP4, multilingual,
Widevine)' with captions, and then play 'Shaka Player History', and I can
see 'text visibility has fallen out of sync' from console. Not sure if it's
the same cause.
…On Tue, Jun 25, 2019 at 12:53 PM ismena ***@***.***> wrote:
This should be working now, please feel free to reopen if you're still
seeing the issue.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#1938>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AGXVZ2PYC7GRXX6SM44IJTDP4JZVBANCNFSM4HMPUWIA>
.
|
Honestly, I'm not 100% sure about that console message. I've seen it show up in different situations, but it's never related to any root cause as far as I can tell ¯_(ツ)_/¯ This particular bug was for external text not showing up when it's enabled. I don't think the console message is related. |
Thank you for your input! I'll look into that :)
… |
I promised Theodore to add a test for this. A Lannister always pays his (technical) debts. Issue #1938 Change-Id: I9741b8c65a4a26b1c07ed1feb9082751dab49505
We start streaming text once subtitles have been enabled. With external text, we used to create a media state for it as soon as text was added even if captions were disabled and we did not actually stream, although no text was being parsed and shown. This lead to the following problem: If external text was added with subtitles disabled, we created the media state with no actual cues in it. Once the subtitles were enabled, we saw that a media state existed for text and assumed it had content. So, we started streaming, but nothing was shown. This change makes us only create the media state if subtitles are enabled and defer creation otherwise. Closes shaka-project#1938. Change-Id: Iee39c30fbd6b7f0abe7772dfb75cba561fcc9998
I promised Theodore to add a test for this. A Lannister always pays his (technical) debts. Issue shaka-project#1938 Change-Id: I9741b8c65a4a26b1c07ed1feb9082751dab49505
Have you read the FAQ and checked for duplicate open issues?
yes
What version of Shaka Player are you using?
master branch
Can you reproduce the issue with our latest release version?
yes
Can you reproduce the issue with the latest code from
master
?yes
Are you using the demo app or your own custom app?
custom
If custom app, can you reproduce the issue using our demo app?
n/a
What browser and OS are you using?
Chrome, MacOS
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
What are the manifest and license server URIs?
What did you do?
There is embedded english CC and other English CC is externally added:
then after the CC toggle button is clicked, the below triggers:
What did you expect to happen?
it should show external CC.
What actually happened?
it did not show it. But after the toggle CC is pressed 3 times, it will show CC aka after
player.setTextTrackVisibility(true) then
player.setTextTrackVisibility(false) then
player.setTextTrackVisibility(true)
On the other hand. If I start with this:
then i get a warning 'text visibility has fallen out of sync' but the button works as it should and shows CC on first click.
The text was updated successfully, but these errors were encountered: