UNPKG

rx-player

Version:
99 lines 3.35 kB
/** * Copyright 2015 CANAL+ Group * * 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. */ import type { IRepresentationIndex, ISegment } from "../../../manifest"; import type { ILocalIndex } from "./types"; export default class LocalRepresentationIndex implements IRepresentationIndex { private _index; private _representationId; constructor(index: ILocalIndex, representationId: string); /** * @returns {Object} */ getInitSegment(): ISegment | null; /** * @param {Number} up * @param {Number} duration * @returns {Array.<Object>} */ getSegments(up: number, duration: number): ISegment[]; /** * @returns {Number|undefined} */ getFirstAvailablePosition(): number | undefined; /** * @returns {Number|undefined} */ getLastAvailablePosition(): number | undefined; /** * Returns the expected ending position of this RepresentationIndex. * `undefined` if unknown. * @returns {number|undefined} */ getEnd(): number | undefined; /** * Returns: * - `true` if in the given time interval, at least one new segment is * expected to be available in the future. * - `false` either if all segments in that time interval are already * available for download or if none will ever be available for it. * - `undefined` when it is not possible to tell. * @param {number} start * @param {number} end * @returns {boolean|undefined} */ awaitSegmentBetween(start: number, end: number): boolean | undefined; /** * @returns {Boolean} */ shouldRefresh(): false; /** * @returns {Boolean} */ isSegmentStillAvailable(): true; isStillAwaitingFutureSegments(): boolean; /** * @returns {Boolean} */ canBeOutOfSyncError(): false; /** * @returns {null} */ checkDiscontinuity(): null; /** * @returns {Boolean} */ isInitialized(): true; initialize(): void; addPredictedSegments(): void; /** * Returns the `duration` of each segment in the context of its Manifest (i.e. * as the Manifest anounces them, actual segment duration may be different due * to approximations), in seconds. * * NOTE: we could here do a median or a mean but I chose to be lazy (and * more performant) by returning the duration of the first element instead. * As `isPrecize` is `false`, the rest of the code should be notified that * this is only an approximation. * @returns {number} */ getTargetSegmentDuration(): { duration: number; isPrecize: boolean; } | undefined; _replace(newIndex: LocalRepresentationIndex): void; _update(newIndex: LocalRepresentationIndex): void; } //# sourceMappingURL=representation_index.d.ts.map