videojs-contrib-dash-s1
Version:
A Video.js source-handler providing MPEG-DASH playback.
57 lines (41 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', {
value: true
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _videoJs = require('video.js');
var _videoJs2 = _interopRequireDefault(_videoJs);
var _html5Dashjs = require('./html5-dashjs');
var _html5Dashjs2 = _interopRequireDefault(_html5Dashjs);
/*
* The source handler to play using Dash.js
*
* @param {Object} source The source object
* @param {Html5} tech The instance of the Html5 tech
*/
var dashSourceHandler = {};
dashSourceHandler.canHandleSource = function (source) {
var dashExtRE = /\.mpd/i;
if (dashSourceHandler.canPlayType(source.type)) {
return 'probably';
} else if (dashExtRE.test(source.src)) {
return 'maybe';
}
return '';
};
dashSourceHandler.handleSource = function (source, tech) {
return new _html5Dashjs2['default'](source, tech);
};
dashSourceHandler.canPlayType = function (type) {
var dashTypeRE = /^application\/dash\+xml/i;
if (dashTypeRE.test(type)) {
return 'probably';
}
return '';
};
// Only add the SourceHandler if the browser supports MediaSourceExtensions
if (window.MediaSource) {
_videoJs2['default'].getComponent('Html5').registerSourceHandler(dashSourceHandler, 0);
}
exports['default'] = dashSourceHandler;
module.exports = exports['default'];