Skip to content

Commit ffd048c

Browse files
authored
fix: Do not fire metadataadded event for duplicated cues (#8617)
1 parent a53f82b commit ffd048c

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

lib/player.js

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1824,6 +1824,17 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
18241824

18251825
this.metadataRegionTimeline_ =
18261826
new shaka.media.RegionTimeline(bufferRange);
1827+
this.metadataRegionTimeline_.addEventListener('regionadd', (event) => {
1828+
/** @type {shaka.extern.MetadataTimelineRegionInfo} */
1829+
const region = event['region'];
1830+
const data = new Map()
1831+
.set('startTime', region.startTime)
1832+
.set('endTime', region.endTime)
1833+
.set('metadataType', region.schemeIdUri)
1834+
.set('payload', region.payload);
1835+
this.dispatchEvent(shaka.Player.makeEvent_(
1836+
shaka.util.FakeEvent.EventName.MetadataAdded, data));
1837+
});
18271838

18281839
if (shouldUseSrcEquals) {
18291840
await mutexWrapOperation(async () => {
@@ -3619,13 +3630,6 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
36193630
// JSON stringify produces a good ID in this case.
36203631
region.id = JSON.stringify(region);
36213632
this.metadataRegionTimeline_.addRegion(region);
3622-
const data = new Map()
3623-
.set('startTime', region.startTime)
3624-
.set('endTime', region.endTime)
3625-
.set('metadataType', region.schemeIdUri)
3626-
.set('payload', region.payload);
3627-
this.dispatchEvent(shaka.Player.makeEvent_(
3628-
shaka.util.FakeEvent.EventName.MetadataAdded, data));
36293633
}
36303634

36313635
/**

0 commit comments

Comments
 (0)