videojs / videojs-contrib-ads

A Tool for Building Video.js Ad Plugins
http://videojs.github.io/videojs-contrib-ads/
Other
379 stars 257 forks source link

Prevent set disabled metadata TextTrack when create snapshot #545

Open nonth opened 1 year ago

nonth commented 1 year ago

Current behavior and problem

Before play ads that trigger by Cue Text Tracks the plugin create a player's snapshot in this process plugin store TextTrack in suppressedTracks array then set track mode to disabled to prevent TextTrack (subtitles?) to display on player when ads is playing after ads end the plugin restore player's snapshot and set TextTrack's mode back to original (before play ads)

After set TextTrack's mode back to original the browser see that TextTrack change from inactive to active it will trigger a cuechange event

The integration received cuechange event then it try to play ads and repeat the whole snapshot process again forever you can see this behavior in example link below

example

Solution

In this PR will not set metadata TextTrack mode to disabled since metadata TextTrack is not visible on player and it will prevent browser to forever trigger cuechange event

it's fixed the problem that I've mention above example