Skip to content

Docs update - Add resetMSEPlayer override setting #359

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

Merged
merged 1 commit into from
Oct 14, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 13 additions & 12 deletions docs/tutorials/02-settings-and-overrides.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,20 @@ This library works across a multitude of different devices. But in order to do s

In order to add an override, simply add an override object to the `window.bigscreenPlayer.overrides` object.

| Name | Description | Values |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| `disableSeekSentinel` | Does what it says on the tin, if we are about to fire a seekSentinel it will just return early if this flag is true. Some devices don't get timeupdates quickly enough and fire a seek sentinel, returning to beginning of playback | boolean |
| `showLiveCurtain` | This is a black html div element placed on top of the video, this is used to hide seeking issues such as the `forceBeginPlaybackToEndOfWindow` | boolean |
| Name | Description | Values |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `disableSeekSentinel` | Does what it says on the tin, if we are about to fire a seekSentinel it will just return early if this flag is true. Some devices don't get timeupdates quickly enough and fire a seek sentinel, returning to beginning of playback | boolean |
| `showLiveCurtain` | This is a black html div element placed on top of the video, this is used to hide seeking issues such as the `forceBeginPlaybackToEndOfWindow` | boolean |
| `forceBeginPlaybackToEndOfWindow` | This is a an override that happens in the restartable/seekable players, whenever we start a stream without a start time and this override is true it will give the player a start time of infinity to force it to the end of the window. It is also used in conjunction with the showLiveCurtain for seeking as some devices will play from the wrong point for a few frames before jumping to the correct time. | boolean |
| `pauseOnExitSeek` | This is a workaround for devices which will error if you try to pause straight after seeking. This is a business decision that if you are paused before you seek you should remain paused on exiting seek. This is done by waiting for a time update event to make sure we are playing after the seek before we attempt to pause the player. | boolean |
| `deferedPlayback` | Currently a workaround for devices that will call play before seek on a deferedPlayFrom, instead of calling seek then play. | boolean |
| `mseDurationOverride` | dash.js v3.0 update caused issues for certain devices when playing from the live point. This will force set the duration when playing live content and stop any issues. | boolean |
| `restartTimeout` | This is used after a seek attempted to ensure that a seek has happened correctly. | number |
| `disableMediaSourceUnload` | When tearing down in HTML5 we unload the source as part of the html5 spec. This prevents this from happening as it was causing issues on devices. | boolean |
| `legacySubtitles` | This can be used to render subtitles using our legacy method, rather than the new method which utilises the third party imscJS library. | boolean |
| `liveUhdDisableSentinels` | Disables any sentinels when consuming live UHD content | boolean |
| `cacheSeekableRange` | Caches the seekable range so it can't be requested more than every 250ms for devices that struggle. | boolean |
| `pauseOnExitSeek` | This is a workaround for devices which will error if you try to pause straight after seeking. This is a business decision that if you are paused before you seek you should remain paused on exiting seek. This is done by waiting for a time update event to make sure we are playing after the seek before we attempt to pause the player. | boolean |
| `deferedPlayback` | Currently a workaround for devices that will call play before seek on a deferedPlayFrom, instead of calling seek then play. | boolean |
| `mseDurationOverride` | dash.js v3.0 update caused issues for certain devices when playing from the live point. This will force set the duration when playing live content and stop any issues. | boolean |
| `restartTimeout` | This is used after a seek attempted to ensure that a seek has happened correctly. | number |
| `disableMediaSourceUnload` | When tearing down in HTML5 we unload the source as part of the html5 spec. This prevents this from happening as it was causing issues on devices. | boolean |
| `legacySubtitles` | This can be used to render subtitles using our legacy method, rather than the new method which utilises the third party imscJS library. | boolean |
| `liveUhdDisableSentinels` | Disables any sentinels when consuming live UHD content | boolean |
| `cacheSeekableRange` | Caches the seekable range so it can't be requested more than every 250ms for devices that struggle. | boolean |
| `resetMSEPlayer` | Forces the `dash.js` MediaPlayer and HTML MediaElement to be fully destroyed/removed when `reset()` is called on the MSE Strategy. Reset is called from `playerComponent.js` on a CDN failover, and usually does nothing (allowing a new source to be attached to the current Media Player). | boolean |

## Player Settings

Expand Down