-
Notifications
You must be signed in to change notification settings - Fork 35
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
feat(FEC-11761): expose stream timed metadata - phase 2 #623
Conversation
src/track/cue-point.js
Outdated
@@ -27,6 +27,7 @@ class CuePoint { | |||
CuePoint.TYPE = { | |||
ID3: 'id3', | |||
EMSG: 'emsg', | |||
CUE_POINT: 'cuepoint', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CuePount.Type.CUE_POINT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
agree it's wired but this is how cuepoint manager works. it generates a cue point of type 'cuepoint'.
export function binarySearch(list: Array<any> = [], comparisonFn: Function = () => 1): any { | ||
if (list.length === 0 || (list.length === 1 && comparisonFn(list[0]) !== 0)) { | ||
return null; | ||
} | ||
const mid = Math.floor(list.length / 2); | ||
if (comparisonFn(list[mid]) === 0) { | ||
return list[mid]; | ||
} | ||
if (comparisonFn(list[mid]) > 0) { | ||
return binarySearch(list.slice(0, mid), comparisonFn); | ||
} else { | ||
return binarySearch(list.slice(mid + 1), comparisonFn); | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does this have to do with this feat?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use the new structure of `TimedMetadata` Solves FEC-11761 Depends on kaltura/playkit-js#623
Fire `TIMED_METADATA_ADDED` once a new id3 cue has been added Solves FEC-11761 Depends on kaltura/playkit-js#623
use `TimedMetadata` from core Change cuePointManager API's to use `TimedMetadata` instead of `VttCue` Solves FEC-11761 Depends on kaltura/playkit-js#623 Breaking Change for - kaltura/playkit-js-dual-screen#52 kaltura/playkit-js-kaltura-cuepoints#15
use the new structure of `TimedMetadata` Solves FEC-11761 Depends on kaltura/playkit-js#623
Fire `TIMED_METADATA_ADDED` once a new id3 cue has been added Solves FEC-11761 Depends on kaltura/playkit-js#623
Description of the Changes
TimedMetadata
instead ofCuePoint
TIMED_METADATA_CHANGE
event which triggered when withTIMED_METADATA
but with payload ofTimedMetadata
array instead ofVttCue
arraytrack.label
and merge all metadata tracks cues instead (reverts fix(FEC-11606): Add TextTrack label to TIMED_METADATA event payload #609, closes fix(FEC-11606): merge active cue-points from all metadata TextTracks #610)createTimedMetadata
to create aTimedMetadata
based onVttCue
binarySearch
(for feat(FEC-11761): expose stream timed metadata - phase 2 playkit-js-hls#157)Solves FEC-11761
Related to -
kaltura/playkit-js-hls#157
kaltura/playkit-js-dash#174
kaltura/kaltura-player-js#512
kaltura/playkit-js-dual-screen#52
kaltura/playkit-js-kaltura-cuepoints#15
CheckLists