mirror of
https://github.com/shaka-project/shaka-player.git
synced 2026-06-17 16:26:39 +03:00
1c00b4c1fb
This replaces mux.js for CEA608 decoding. Applications will no longer need to include mux.js for CEA support, and mux.js will only be necessary for TS transmuxing. Closes #2648
57 lines
1.4 KiB
JavaScript
57 lines
1.4 KiB
JavaScript
/*! @license
|
|
* Shaka Player
|
|
* Copyright 2016 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
goog.provide('shaka.cea.ICeaParser');
|
|
|
|
/**
|
|
* Interface for parsing inband closed caption data from MP4 streams.
|
|
* @interface
|
|
*/
|
|
shaka.cea.ICeaParser = class {
|
|
/**
|
|
* Initializes the parser with init segment data.
|
|
* @param {!BufferSource} initSegment init segment to parse.
|
|
*/
|
|
init(initSegment) {}
|
|
|
|
/**
|
|
* Parses the stream and extracts closed captions packets.
|
|
* @param {!BufferSource} mediaSegment media segment to parse.
|
|
* @return {!Array<!shaka.cea.ICeaParser.CaptionPacket>}
|
|
*/
|
|
parse(mediaSegment) {}
|
|
};
|
|
|
|
/**
|
|
* NALU type for Supplemental Enhancement Information (SEI).
|
|
* @const {number}
|
|
*/
|
|
shaka.cea.ICeaParser.NALU_TYPE_SEI = 0x06;
|
|
|
|
/**
|
|
* Default timescale value for a track.
|
|
*/
|
|
shaka.cea.ICeaParser.DEFAULT_TIMESCALE_VALUE = 90000;
|
|
|
|
/**
|
|
* @typedef {{
|
|
* packet: !Uint8Array,
|
|
* pts: !number
|
|
* }}
|
|
*
|
|
* @description Parsed Caption Packet.
|
|
* @property {!Uint8Array} packet
|
|
* Caption packet. More specifically, it contains a "User data
|
|
* registered by Recommendation ITU-T T.35 SEI message", from section D.1.6
|
|
* and section D.2.6 of Rec. ITU-T H.264 (06/2019).
|
|
* @property {!number} pts
|
|
* The presentation timestamp (pts) at which the ITU-T T.35 data shows up.
|
|
* in seconds.
|
|
* @exportDoc
|
|
*/
|
|
shaka.cea.ICeaParser.CaptionPacket;
|
|
|