UNPKG

shaka-player

Version:
86 lines (78 loc) 2.35 kB
/*! @license * Shaka Player * Copyright 2016 Google LLC * SPDX-License-Identifier: Apache-2.0 */ goog.provide('shaka.media.AdaptationSetCriteria'); goog.require('shaka.media.AdaptationSet'); goog.require('shaka.config.CodecSwitchingStrategy'); /** * An adaptation set criteria is a unit of logic that can take a set of * variants and return a subset of variants that should (and can) be * adapted between. * * @interface * @export */ shaka.media.AdaptationSetCriteria = class { /** * Take a set of variants, and return a subset of variants that can be * adapted between. * * @param {!Array<shaka.extern.Variant>} variants * @return {!shaka.media.AdaptationSet} * @exportInterface */ create(variants) {} /** * Sets the AdaptationSetCriteria configuration. * * @param {shaka.media.AdaptationSetCriteria.Configuration} config * @exportInterface */ configure(config) {} }; /** * A factory for creating the AdaptationSetCriteria. * * @typedef {function():!shaka.media.AdaptationSetCriteria} * @export */ shaka.media.AdaptationSetCriteria.Factory; /** * @typedef {{ * language: string, * role: string, * channelCount: number, * hdrLevel: string, * spatialAudio: boolean, * videoLayout: string, * audioLabel: string, * videoLabel: string, * codecSwitchingStrategy: shaka.config.CodecSwitchingStrategy, * audioCodec: string * }} * * @property {string} language * The language used to filter variants. * @property {string} role * The adaptation role used to filter variants. * @property {string} channelCount * The audio channel count used to filter variants. * @property {string} hdrLevel * The HDR level used to filter variants. * @property {boolean} spatialAudio * Whether should prefer audio tracks with spatial audio. * @property {string} videoLayout * The video layout used to filter variants. * @property {string} audioLabel * The audio label used to filter variants. * @property {string} videoLabel * The video label used to filter variants. * @property {shaka.config.CodecSwitchingStrategy} codecSwitchingStrategy * The codec switching strategy used to filter variants. * @property {string} audioCodec * The audio codec used to filter variants. * @export */ shaka.media.AdaptationSetCriteria.Configuration;