As part of the configuration of Bigscreen Player, a 'playback strategy' should be provided.
There are three options available:
msestrategy
nativestrategy
basicstrategy
Your app should write this globally to the window before initialising Bigscreen Player. This enables only the required media player code to be loaded. For example, if MSE playback is not needed, the dashjs library does not have to be loaded.
window.bigscreenPayer.playbackStrategy = 'msestrategy' // OR 'nativestrategy' OR 'basicstategy'
The player will require in the correct strategy file at runtime.
MSE Strategy
The MSE strategy utilises the open source dashjs library. Dashjs handles much of the playback, and the strategy interacts with this to provide a consistent interface. No other dependencies are requried.
Native Strategy
We have migrated TAL media player implementations into the Native Strategy, so that you can play media on devices that do not support Media Source Extensions without TAL. So far there is support for playback via:
HTML5
CEHTML
SAMSUNG_MAPLE
SAMSUNG_STREAMING
SAMSUNG_STREAMING_2015
This requires additional config, to select which implementation to use and indicate the device's live playback capability:
window.bigscreenPlayer.liveSupport: 'seekable', // OR 'none' OR 'playable' OR 'restartable'; defaults to 'playable'
window.bigscreenPlayer.mediaPlayer: 'html5' // OR 'cehtml'; defaults to 'html5'
Basic Strategy
This strategy is similar to native, in that it relies on the browser's media element to handle play back of the source provided. It is intended to be a lightweight wrapper around standard HTML5 media playback. It is media element event driven, and contains none of the workarounds (such as overrides and sentinels) that the native strategy does.