Skip to content
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

Sometimes subtitles are stacked on LG SmartTVs #3151

Closed
adgllorente opened this issue Feb 10, 2021 · 1 comment
Closed

Sometimes subtitles are stacked on LG SmartTVs #3151

adgllorente opened this issue Feb 10, 2021 · 1 comment
Labels
status: archived Archived and locked; will not be updated

Comments

@adgllorente
Copy link
Contributor

Have you read the FAQ and checked for duplicate open issues?
Yes.

What version of Shaka Player are you using?
Latest.

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?
Own app.

If custom app, can you reproduce the issue using our demo app?
Not tried.

What browser and OS are you using?
SmartTV

For embedded devices (smart TVs, etc.), what model and firmware version are you using?
LG SmartTV

What are the manifest and license server URIs?

What did you do?

  1. Playback a stream with active subtitles

What did you expect to happen?

  1. Subtitles are properly shown.

What actually happened?
Subtitles are shown stacked. Sometimes one subtitle is shown without removing the previous one.

shaka-bot pushed a commit that referenced this issue Feb 12, 2021
In issue #3151, some TVs showed subtitles stacked on one another when
one should have expired.  This only occurred on some platforms because
it required very specific values for video.currentTime at the exact
moment the UI text displayer calculated visibility.  Limited precision
on video.currentTime on some platforms may have exposed the edge case,
but it was always possible.

PR #3152 fixed the issue by correcting the visibility calculation.
Cue end times should be excluded from their visibility range, i.e.
(start, end].

This adds a new regression test for this edge case using our
screenshot-based layout tests.  Note that the behavior can only be
controlled when we control text display through the UI.  When using
native text display from the browser, the exact visibility and
interpretation of timing is entirely up to the browser.  As of Feb
2021, Chrome, Edge, and Safari all do it wrong, and Firefox does it
right.

Change-Id: I2cdb8a2a759960d5ed8ce8790bf9daaeb2a335eb
@joeyparrish
Copy link
Member

joeyparrish commented Feb 13, 2021

JFYI, Chrome, Edge, and Safari all get this wrong in their native cue rendering. FF & IE/legacy Edge get it right.

I filed these issues with the browser vendors to make the same/similar fix in the browser for native cue display:

joeyparrish pushed a commit that referenced this issue Feb 25, 2021
We've seen some SmartTVs show one subtitle without removing the previous one.

I think this is happening because two different subtitles may meet the condition of "greater or equal than" and "lower or equal than" at the same time. After changing the greater than or equal with a greater than subtitles were fixed.

@joeyparrish will add a regression test after this fix.

Closes #3151
joeyparrish added a commit that referenced this issue Feb 25, 2021
In issue #3151, some TVs showed subtitles stacked on one another when
one should have expired.  This only occurred on some platforms because
it required very specific values for video.currentTime at the exact
moment the UI text displayer calculated visibility.  Limited precision
on video.currentTime on some platforms may have exposed the edge case,
but it was always possible.

PR #3152 fixed the issue by correcting the visibility calculation.
Cue end times should be excluded from their visibility range, i.e.
(start, end].

This adds a new regression test for this edge case using our
screenshot-based layout tests.  Note that the behavior can only be
controlled when we control text display through the UI.  When using
native text display from the browser, the exact visibility and
interpretation of timing is entirely up to the browser.  As of Feb
2021, Chrome, Edge, and Safari all do it wrong, and Firefox does it
right.

Backported to v3.0.x

Change-Id: I2cdb8a2a759960d5ed8ce8790bf9daaeb2a335eb
joeyparrish pushed a commit that referenced this issue Mar 10, 2021
We've seen some SmartTVs show one subtitle without removing the previous one.

I think this is happening because two different subtitles may meet the condition of "greater or equal than" and "lower or equal than" at the same time. After changing the greater than or equal with a greater than subtitles were fixed.

@joeyparrish will add a regression test after this fix.

Closes #3151
@shaka-project shaka-project locked and limited conversation to collaborators Apr 11, 2021
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated
Projects
None yet
Development

No branches or pull requests

3 participants