Support Detection

TOP provides some helper utilities on TOP.Support for determining if a browser is suitible for media playback. All of the API methods here will return a Promise.

How To

Available support API's:

API Description
mse Needed to play HLS content
autoPlay If user gesture required to play content

To use a support API, set a Promise.then listener for a specified API:

TOP.Support.<api>.then(function(value) {
    console.log('Is API supported?', value);
});

MSE

MSE support is required for TOP to play HLS content in most browsers (except iOS Safari which has native support for playing HLS content). Check if the browser supports mse:

TOP.Support.mse().then(function(value) {
    if (TOP.utils.Browser.ios() && TOP.utils.Browser.safari())
        console.log('HLS supported natively, no MSE needed');
    else
    {
        if (value)
            console.log('MSE is supported, TOP can use HLS or similar');
        else
            console.warn('MSE not supported, TOP cannot use HLS');
    }
});

AutoPlay

Detects if autoPlay is supported for specific browser / device:

TOP will do this check automatically, see Scenarios, AutoPlay

TOP.Support.autoPlay().then(function(value) {
    if (value)
        console.log('AutoPlay is supported, content will play');
    else
        console.warn('AutoPlay not supported, requires user gesture');
});