forked from shaka-project/shaka-player
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Created MP4 box parsers to parse data for common box types (shaka-pro…
…ject#2648) added tkhd box parsing unit testing for mp4 box parsers moved mp4 box structs to lib/util inlined returns for mp4 boxes created mp4 parser to parse cea708 packets from mp4 streams (shaka-project#2648) tightened array out of bound checks added error code for invalid mp4 for cea packets refactored name of mp4 cea parser interface fixed a bug with increment ordering that affected time linting addressed mp4 cea parsing comments stylistic changes to mp4 cea parser improved mp4 parser comments and addressed pr review return caption packets as array instead of in a callback removed caption packets from class state to avoid clearing it in the middle of a parse
- Loading branch information
1 parent
5923388
commit 31a2fef
Showing
4 changed files
with
76 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
# Inband closed caption support. | ||
|
||
+../../lib/cea/mp4_cea_parser.js | ||
+../../lib/cea/i_cea_parser.js | ||
+../../lib/cea/cea_parser.js | ||
+../../lib/cea/sei_processor.js |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
/*! @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). The second parameter is | ||
* the presentation time stamp (pts). | ||
* @property {!number} pts | ||
* The presentation timestamp (pts) at which the ITU-T T.35 data shows up. | ||
* @exportDoc | ||
*/ | ||
shaka.cea.ICeaParser.CaptionPacket; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters