mirror of
https://github.com/shaka-project/shaka-player.git
synced 2026-06-19 16:47:01 +03:00
7e6a0f38ff
This corrects/normalizes license headers in misc. files, such as config files, docs, build tools, tests, and externs. This does not affect the compiled output, and is only done for consistency. Issue #2638 Change-Id: I9d8da2de55243b08d7df2b743aac73c6f15e858a
153 lines
4.4 KiB
JavaScript
153 lines
4.4 KiB
JavaScript
/*! @license
|
|
* Shaka Player
|
|
* Copyright 2016 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
|
|
/**
|
|
* @externs
|
|
*/
|
|
|
|
/**
|
|
* @typedef {{
|
|
* originalManifestUri: string,
|
|
* duration: number,
|
|
* size: number,
|
|
* expiration: number,
|
|
* periods: !Array.<shaka.extern.PeriodDBV2>,
|
|
* sessionIds: !Array.<string>,
|
|
* drmInfo: ?shaka.extern.DrmInfo,
|
|
* appMetadata: Object
|
|
* }}
|
|
*
|
|
* @property {string} originalManifestUri
|
|
* The URI that the manifest was originally loaded from.
|
|
* @property {number} duration
|
|
* The total duration of the media, in seconds.
|
|
* @property {number} size
|
|
* The total size of all stored segments, in bytes.
|
|
* @property {number} expiration
|
|
* The license expiration, in milliseconds; or Infinity if not applicable.
|
|
* Note that upon JSON serialization, Infinity becomes null, and must be
|
|
* converted back upon loading from storage.
|
|
* @property {!Array.<shaka.extern.PeriodDBV2>} periods
|
|
* The Periods that are stored.
|
|
* @property {!Array.<string>} sessionIds
|
|
* The DRM offline session IDs for the media.
|
|
* @property {?shaka.extern.DrmInfo} drmInfo
|
|
* The DRM info used to initialize EME.
|
|
* @property {Object} appMetadata
|
|
* A metadata object passed from the application.
|
|
*/
|
|
shaka.extern.ManifestDBV2;
|
|
|
|
|
|
/**
|
|
* @typedef {{
|
|
* startTime: number,
|
|
* streams: !Array.<shaka.extern.StreamDBV2>
|
|
* }}
|
|
*
|
|
* @property {number} startTime
|
|
* The start time of the period, in seconds.
|
|
* @property {!Array.<shaka.extern.StreamDBV2>} streams
|
|
* The streams that define the Period.
|
|
*/
|
|
shaka.extern.PeriodDBV2;
|
|
|
|
|
|
/**
|
|
* @typedef {{
|
|
* id: number,
|
|
* originalId: ?string,
|
|
* primary: boolean,
|
|
* presentationTimeOffset: number,
|
|
* contentType: string,
|
|
* mimeType: string,
|
|
* codecs: string,
|
|
* frameRate: (number|undefined),
|
|
* pixelAspectRatio: (string|undefined),
|
|
* kind: (string|undefined),
|
|
* language: string,
|
|
* label: ?string,
|
|
* width: ?number,
|
|
* height: ?number,
|
|
* initSegmentKey: ?number,
|
|
* encrypted: boolean,
|
|
* keyId: ?string,
|
|
* segments: !Array.<shaka.extern.SegmentDBV2>,
|
|
* variantIds: !Array.<number>
|
|
* }}
|
|
*
|
|
* @property {number} id
|
|
* The unique id of the stream.
|
|
* @property {?string} originalId
|
|
* The original ID, if any, that appeared in the manifest. For example, in
|
|
* DASH, this is the "id" attribute of the Representation element.
|
|
* @property {boolean} primary
|
|
* Whether the stream set was primary.
|
|
* @property {number} presentationTimeOffset
|
|
* The presentation time offset of the stream, in seconds. Note that this is
|
|
* the inverse of the timestampOffset as defined in the manifest types.
|
|
* @property {string} contentType
|
|
* The type of the stream, 'audio', 'text', or 'video'.
|
|
* @property {string} mimeType
|
|
* The MIME type of the stream.
|
|
* @property {string} codecs
|
|
* The codecs of the stream.
|
|
* @property {(number|undefined)} frameRate
|
|
* The Stream's framerate in frames per second.
|
|
* @property {(string|undefined)} pixelAspectRatio
|
|
* The Stream's pixel aspect ratio
|
|
* @property {(string|undefined)} kind
|
|
* The kind of text stream; undefined for audio/video.
|
|
* @property {string} language
|
|
* The language of the stream; '' for video.
|
|
* @property {?string} label
|
|
* The label of the stream; '' for video.
|
|
* @property {?number} width
|
|
* The width of the stream; null for audio/text.
|
|
* @property {?number} height
|
|
* The height of the stream; null for audio/text.
|
|
* @property {?number} initSegmentKey
|
|
* The storage key where the init segment is found; null if no init segment.
|
|
* @property {boolean} encrypted
|
|
* Whether this stream is encrypted.
|
|
* @property {?string} keyId
|
|
* The key ID this stream is encrypted with.
|
|
* @property {!Array.<shaka.extern.SegmentDBV2>} segments
|
|
* An array of segments that make up the stream.
|
|
* @property {!Array.<number>} variantIds
|
|
* An array of ids of variants the stream is a part of.
|
|
*/
|
|
shaka.extern.StreamDBV2;
|
|
|
|
|
|
/**
|
|
* @typedef {{
|
|
* startTime: number,
|
|
* endTime: number,
|
|
* dataKey: number
|
|
* }}
|
|
*
|
|
* @property {number} startTime
|
|
* The start time of the segment, in seconds from the start of the Period.
|
|
* @property {number} endTime
|
|
* The end time of the segment, in seconds from the start of the Period.
|
|
* @property {number} dataKey
|
|
* The key to the data in storage.
|
|
*/
|
|
shaka.extern.SegmentDBV2;
|
|
|
|
|
|
/**
|
|
* @typedef {{
|
|
* data: !ArrayBuffer
|
|
* }}
|
|
*
|
|
* @property {!ArrayBuffer} data
|
|
* The data contents of the segment.
|
|
*/
|
|
shaka.extern.SegmentDataDBV2;
|