[webvtt] cue should be removed from video's rendering area after it has been removed from text track
Categories
(Core :: Audio/Video, defect, P2)
Tracking
()
People
(Reporter: laszlo.bialis, Assigned: alwu)
References
(Blocks 1 open bug, )
Details
Attachments
(9 files, 1 obsolete file)
274.18 KB,
image/png
|
Details | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Comment 1•6 years ago
|
||
Comment 2•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 4•6 years ago
|
||
We don't need an extra flag to remind us to reset cues list in 'UpdateActiveCueList()', we can reset it every when it needs.
Assignee | ||
Comment 5•6 years ago
|
||
We should update cue display everytime when the cues list changed.
In addition, we shouldn't check whether cue is active when we update display, because it's always inactive when the cue has been removed in 'TextTrack::RemoveCue()'.
Assignee | ||
Comment 6•6 years ago
|
||
Adding a reftest to ensure we would update the cue display after removing cue from the text track, the removed cue should not display on the video's rendering area.
Updated•6 years ago
|
Assignee | ||
Comment 7•6 years ago
|
||
There are some incorrect implementation in TextTrack and TimeMarchesOn algorithm which made my patches not possible to be landed right now.
Will land these patches after fixing those problems.
Updated•6 years ago
|
Assignee | ||
Comment 8•6 years ago
|
||
According to spec [1], activeCues
should represent a subset of the text track cues whose active flag was set when the script started.
We should only depend on the TimeMarchesOn
algorithm which will change cue's active state, and then add or remove cue to activeCues
.
[1] https://html.spec.whatwg.org/multipage/media.html#dom-texttrack-activecues
Assignee | ||
Comment 9•6 years ago
|
||
According to the spec [1], the current cue is not equal with the active cue, because it might contain non active cues.
The current cue should be a list of cues, initialized to contain all the cues of all the hidden or showing text tracks of the media element (not the disabled ones) whose start times are less than or equal to the current playback position and whose end times are greater than the current playback position.
[1] https://html.spec.whatwg.org/multipage/media.html#time-marches-on
Assignee | ||
Comment 10•6 years ago
|
||
According to the spec [1], we should run TimeMarchesOn
algorithm directly when the specific situation happens, it doesn't say that we need to queue a task for it.
In addition, all the call sites for TimeMarchesOn
are on the main thread, so we don't need to worry about race condition.
[1]
https://html.spec.whatwg.org/multipage/media.html#playing-the-media-resource:time-marches-on-2
https://html.spec.whatwg.org/multipage/media.html#playing-the-media-resource:time-marches-on-3
https://html.spec.whatwg.org/multipage/media.html#playing-the-media-resource:time-marches-on-4
Assignee | ||
Comment 11•6 years ago
|
||
As the active cues list
would be automatically contruct when there are any active cues being added or inactive cues being removed, we have no need to use dirty to reset the active cues list
.
Assignee | ||
Comment 12•6 years ago
|
||
Fix the missing parameter in cueEntered()
and enable this wpt.
Updated•6 years ago
|
Updated•6 years ago
|
Assignee | ||
Comment 13•6 years ago
|
||
According to the spec [1], activeCues attribute must return a live
TextTrackCueList object, so we should get correct cue list immediately, no need to wait until the next event loop.
[1] https://html.spec.whatwg.org/multipage/media.html#dom-texttrack-activecues
Comment 14•6 years ago
|
||
Comment 15•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/3944dae3dabd
https://hg.mozilla.org/mozilla-central/rev/fa26e1068b50
https://hg.mozilla.org/mozilla-central/rev/d1046aea2e0e
https://hg.mozilla.org/mozilla-central/rev/ad7bfe5bbc3a
https://hg.mozilla.org/mozilla-central/rev/057318480b0e
https://hg.mozilla.org/mozilla-central/rev/a0d8bc1dab63
https://hg.mozilla.org/mozilla-central/rev/b2ad34980053
https://hg.mozilla.org/mozilla-central/rev/2f913db74eb5
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Assignee | ||
Comment 18•6 years ago
|
||
Hi, James,
I heard that you might be the right person to ask about how to handle wpt test merging fail.
The comment17 shows that there are some upstream checks fail on Chrome which resulted in merging fail. After checking the fail log [1], it failed on the activeCues.html
. However, that test has already failed on Chrome before merging my changes, so I think these fails should be skipped and shouldn't block us landing the change.
Do you have any idea how to deal with this kinds of error?
Thank you.
[1] https://tools.taskcluster.net/groups/OYhu-QGtRIegKtIl5lQ8CA/tasks/RvXM_a30ScqSdbxIhU40sg/runs/0/logs/public%2Flogs%2Flive.log
[2] http://w3c-test.org/html/semantics/embedded-content/media-elements/interfaces/TextTrack/activeCues.html
Description
•