UNPKG

shaka-player

Version:
87 lines (71 loc) 2.24 kB
/** * @license * Copyright 2015 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ goog.provide('shaka.media.IAbrManager'); /** * An interface for a generic adaptive bitrate manager. An AbrManager listens * for bandwidth events and makes decisions about which stream should be used at * any given time. It can be queried for the initial stream to use when * starting playback, and it will make active stream changes during playback * (if enabled). * * @listens shaka.util.IBandwidthEstimator.BandwidthEvent * * @interface */ shaka.media.IAbrManager = function() {}; /** * Destroy the AbrManager. * * @expose */ shaka.media.IAbrManager.prototype.destroy = function() {}; /** * Initialize the AbrManager. * * This function will only be called by a VideoSource and should only be called * once. * * @param {!shaka.util.IBandwidthEstimator} estimator * @param {!shaka.player.IVideoSource} videoSource * @expose */ shaka.media.IAbrManager.prototype.initialize = function( estimator, videoSource) {}; /** * Start processing stream switches. * * This function will only be called by a VideoSource and should only be called * once. * * @expose */ shaka.media.IAbrManager.prototype.start = function() {}; /** * Enable or disable the AbrManager. It is enabled by default when created. * * @param {boolean} enabled * @expose */ shaka.media.IAbrManager.prototype.enable = function(enabled) {}; /** * Decide on an initial video track to use. Called before playback begins. * * @return {?number} The chosen video track ID or null if there are no video * tracks to choose. * @expose */ shaka.media.IAbrManager.prototype.getInitialVideoTrackId = function() {};