mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-18 21:12:13 +00:00
basic cuesForTime util func implemented
This commit is contained in:
parent
d9ada6d5c0
commit
9251f6f70f
1 changed files with 39 additions and 0 deletions
39
src/routes/Player/Video/stremio-video/utils/cuesForTime.js
Normal file
39
src/routes/Player/Video/stremio-video/utils/cuesForTime.js
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
module.exports = function(cues, time) {
|
||||
var cuesForTime = [];
|
||||
var middleCueIndex = -1;
|
||||
var left = 0;
|
||||
var right = cues.length - 1;
|
||||
while (left <= right) {
|
||||
var middle = Math.floor((left + right) / 2);
|
||||
if (cues[middle].endTime < time) {
|
||||
left = middle + 1;
|
||||
} else if (cues[middle].startTime > time) {
|
||||
right = middle - 1;
|
||||
} else {
|
||||
middleCueIndex = middle;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (middleCueIndex !== -1) {
|
||||
cuesForTime.push(cues[middleCueIndex]);
|
||||
for (var i = cueIndex - 1; i >= 0; i--) {
|
||||
if (cues[i].startTime > time || cues[i].endTime < time) {
|
||||
break;
|
||||
}
|
||||
|
||||
cuesForTime.push(cues[i]);
|
||||
}
|
||||
|
||||
for (var i = cueIndex + 1; i < cues.length; i++) {
|
||||
if (cues[i].startTime > time || cues[i].endTime < time) {
|
||||
break;
|
||||
}
|
||||
|
||||
cuesForTime.push(cues[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return cuesForTime;
|
||||
};
|
||||
//TODO sort the result
|
||||
Loading…
Reference in a new issue