UNPKG

playable

Version:

Video player based on HTML5Video

43 lines 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveAdapters = void 0; var constants_1 = require("../../../constants"); function resolveAdapters(mediaStreams, availableAdapters) { var playableAdapters = []; var groupedStreams = groupStreamsByMediaType(mediaStreams); var groupedStreamKeys = Object.keys(groupedStreams); availableAdapters.forEach(function (adapter) { for (var i = 0; i < groupedStreamKeys.length; i += 1) { var mediaType = groupedStreamKeys[i]; if (adapter.canPlay(mediaType)) { adapter.setMediaStreams(groupedStreams[mediaType]); playableAdapters.push(adapter); break; } } }); playableAdapters.sort(function (firstAdapter, secondAdapter) { return secondAdapter.mediaStreamDeliveryPriority - firstAdapter.mediaStreamDeliveryPriority; }); return playableAdapters; } exports.resolveAdapters = resolveAdapters; function groupStreamsByMediaType(mediaStreams) { var typeMap = {}; mediaStreams.forEach(function (mediaStream) { var type = mediaStream.type || constants_1.MimeToStreamTypeMap[mediaStream.mimeType]; if (!type) { return; } if (!Array.isArray(typeMap[type])) { typeMap[type] = []; } typeMap[type].push({ url: mediaStream.url, type: type, }); }); return typeMap; } //# sourceMappingURL=adapters-resolver.js.map