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

Flickering/Blinking IMSC Subtitles #4358

Closed
mattjuggins opened this issue Jan 12, 2024 · 1 comment
Closed

Flickering/Blinking IMSC Subtitles #4358

mattjuggins opened this issue Jan 12, 2024 · 1 comment
Assignees
Labels
Milestone

Comments

@mattjuggins
Copy link
Contributor

mattjuggins commented Jan 12, 2024

Flickering/blinking of subtitles happens irregularly during the playback of imsc subtitles. This is clear to witness when playing back a stream that has subtitles that appear word by word (how live subtitles might appear). For example, using the “[BBC] On-demand Elephant's Dream - with EBU-TT-D 'Snaking' Subtitle Track (random text) - lines grow over time simulating live subtitles” stream in the reference player it’s clear to see the subtitles flickering. The majority of cues in this subtitles track appear immediately after the previous cue and hence should appear smoothly appended.

This flickering effect is happening because appending divs and removing divs (that represent cues) from the captionsContainer don’t necessarily happen close enough together to ensure the captionsContainer will not be rendered as empty in between. At present, the appending will happen in _renderCaption() and the removal will happen in the previous cue’s onexit function.

When both these actions are moved within _renderCaption() no flickering is observed.
However, if there is no immediately following cue, the cue onexit event should be preserved.
Additionally, identical cues should still be extended rather than redrawn, and WebVTT subs and CEA608 should still operate as expected.
I have proposed a fix for this in #4359.

@dsilhavy
Copy link
Collaborator

This was fixed in #4359

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants