Files
shaka-player/lib/cea/i_cea_parser.js
T
Muhammad Haris 1c00b4c1fb feat(text): CEA-608 Decoder (#2731)
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
2020-08-07 09:07:26 -07:00

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;