textTrack.activeCues does not clean up properly when user seeks away from cue
Categories
(Core :: Audio/Video: Playback, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox66 | --- | unaffected |
| firefox67 | --- | affected |
| firefox68 | --- | unaffected |
People
(Reporter: dtniland, Unassigned)
Details
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36
Steps to reproduce:
We have found a bug that seems new for Firefox version 67.0b19 (it does not repro in 66, or even in 67.0b3) where if a user seeks while a cuePoint is currently showing, to a point outside that cue, then that cuePoint isn't removed from the activeCues list and will continue to be shown. This makes the text track cues pile up with no way to remove them.
Actual results:
We came across this while using the hls.js library, but our QA reports that it is happening accross the board.
Expected results:
textTrack.activeCues should be properly cleaned up when seeking away from an active cuePoint.
Comment 1•6 years ago
|
||
Hi @dtniland, I've tried to test the issue but without success. Please can you be more specific in the description(clearly and accordingly steps), providing info's in order to test it.
I know that "cuePoints" are used by DJ's specially. How they are used on PC's? is needed to have installed a special program?
In the video provided the "CuePoints" is marked in blue on the below video's bar? right? On my end, on both the below bar and the one from video the cursor moves identically.
Thanks
Comment 2•6 years ago
|
||
Hi, I managed to reproduce this issue as well on Windows 7, 10 and MAC but only on Beta 67.0b19 or RC 67.0.
For a better sum up of this issue, The Captions are kept when clicking the seekbar and stack on top of each other. IF this is not the actual issue maybe our Devs can figure it out.
@Rares Yes, that is the issue. On the video element, there is a textTracks array that can contain one or more textTrack objects, each of which contains a set of cuePoints. Those cuePoints can contain information for captions, subtitles, or other types of metadata. Each cuePoint has a startTime and an endTime which corresponds to the time at which the subtitle or caption will appear and then go away. On each textTrack object, there is a property called activeCues which represent the currently showing cuePoints. For instance, if the video's currentTime is at 10 seconds, and there is a cuePoint that has a startTime of 8 seconds and an endTime of 12 seconds, then that cuePoint will be active and it will be included in the activeCues array.
The activeCues array is what the textTrack view uses to place its text. It is quite possible to have more than one cue at a time that is active, and in that case, the textTrack view would show all of the active cues.
In this bug, it appears that the activeCues array is not being properly cleaned up when a user clicks away from the position in which a cue is active into a position where it is not active. Say we're at 10 seconds and showing a cue and then we seek to 20 seconds. If that cuePoint has an endTime of 12 seconds then you would expect that cuePoint to no longer be included in the activeCues array, but that is not the case with this bug. That cuePoint gets orphaned there and never goes away afterwards. In this bug, this will continue to happen with every single cuePoint that is showing and then seeked away from, causing the activeCues array to get larger and larger. The textTrack view shows a jumble of more and more text.
Comment 5•6 years ago
|
||
Hi, dtniland ,
Could you try to use Firefox 68 to see if the problem still exists? I believe that the issue has been fixed by bug 1535005.
Thank you.
@Alastor Excellent. It does seem to be fixed in 68. I hope the fix can make it into 67 before it goes into production.
Updated•6 years ago
|
Description
•