Commit Graph

17 Commits

Author SHA1 Message Date
Álvaro Velad Galván cdbbe232b1 fix: Fix support for Dolby Vision based in VVC (#7212)
Info from
https://dolby.my.salesforce.com/sfc/p/#700000009YuG/a/4u000000l6G4/4R18riPaaW3gxpVx7XwyQLdEITLFjB.w.Si0LoQR5j8
2024-08-26 22:53:14 +02:00
Álvaro Velad Galván a3d09a9431 feat(CEA): Add CEA support for VVC/H.266 (#6912) 2024-06-26 08:56:06 +02:00
Álvaro Velad Galván a3e1fdd0f8 fix(CEA): CEA-608 is not rendered in some cases (multiples TRAF boxes) (#6878)
Fixes https://github.com/shaka-project/shaka-player/issues/5919
2024-06-21 08:51:38 +02:00
Álvaro Velad Galván c100053532 feat: Add support for Dolby Vision based on AVC and AV1 (#6154) 2024-01-24 18:15:18 +01:00
Álvaro Velad Galván c6e8449468 feat: Parses a TFDT Box, with a loss of precision beyond 53 bits (#5501)
Related to https://github.com/shaka-project/shaka-player/issues/3784
2023-08-19 05:29:49 +02:00
Joey Parrish 8ff29175d8 fix: Fix exception on Tizen due to unsupported Array method (#5429)
Tizen 3 does not support Array.flat(). This fixes a runtime exception on
Tizen 3 by replacing flat() with concat() and the spread operator. This
also bans the use of flat().

flat() was originally introduced in PR #5422
2023-07-21 06:53:30 -07:00
Joey Parrish bccfdbcea4 fix: Fix captions from MP4s with multiple trun boxes (#5422)
Closes #5328
2023-07-20 09:10:38 -07:00
Aidan Ridley f0ee16bdb3 fix: CEA 608 captions not work with H.265 video streams (#5252)
Fix parsing of CEA 608 captions in H.265 video streams by handling 2
byte nal unit header.

Fixes #5251
2023-05-31 21:14:28 +02:00
Wojciech Tyczyński 7bda65dcc7 feat: Convert CEA parsers to plugins (#5195)
Fixes #5178 

Changes included:
- converted CEA parsers to externs
- added API to register/unregister CEA parsers
- TextEngine now checks is CEA decoder registered
- excluded CEA plugin from core build
- added lcevc plugin to core build

Bundle size results (all in KB, compared to
bf4b4a54cc):


  | core | complete - ui | complete - ui - cea
-- | -- | -- | --
before | 246 | 473 | 473
after | 231 | 474 | 459
2023-04-28 17:23:01 -07:00
Álvaro Velad Galván d6001097a9 fix(cea): Fix not rendering CEA-608 on encrypted mp4 segments (#4756)
Fixes https://github.com/shaka-project/shaka-player/issues/4605

Co-authored-by: Joey Parrish <joeyparrish@google.com>
2022-12-01 22:34:34 +01:00
Álvaro Velad Galván a489282ff2 fix(cea): Fix not rendering CEA-608 Closed Captions (#4683)
Also added H265 support and a framework for future TS CEA parser support.

Fixes #4605
Fixes #3659

Co-authored-by: Joey Parrish <joeyparrish@google.com>
2022-11-10 13:39:19 -08:00
Álvaro Velad Galván 2687b95d58 fix(cea): make a more robust CEA MP4 parser (#3965)
Fix a HLS error reported in https://github.com/google/shaka-player/issues/2337#issuecomment-1040389975

Tested with https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_adv_example_hevc/master.m3u8
2022-02-24 13:27:18 -08:00
Joey Parrish d99ab7959d build: Update eslint (#3977)
Also fixes linter errors found by the new versions
2022-02-18 08:26:43 -08:00
Joey Parrish 38ce45dce5 cleanup: Fix nullability declarations
Cleanup imported from an internal Google migration process, courtesy
of Laura Harker.

Change-Id: I11de518eafe6008938589e5250bdcaf8151267e9
2021-06-22 21:03:20 +00:00
Joey Parrish 562a2d567b chore: Strictly require jsdoc
This enables the eslint rule requiring jsdocs on all class
declarations, function declarations, and methods.

Unfortunately, there are two problems with this:

1. We don't use class _declarations_, we use class _expressions_,
which are not covered by this rule.  So it does not enforce jsdoc at
the class level.
2. We tend to document a class at the class-level, rather than at the
constructor.  But a constructor counts as a method for eslint, so it
requires docs on the constructor.  There is no way to configure it to
make an exception for trivial constructors.

So for all trivial (no-argument) constructors, we add empty jsdocs:
  /** */
  constructor() {

This was quicker and easier than setting up some alternative plugin in
eslint to make an exception for us.

The good news is that this rule caught several undocumented parameters
and places where the jsdoc comment was malformed.  So fixing those
also improves the compiler's ability to enforce types.

Change-Id: Icbc46ed690c94e53d354648a883119524f8fca45
2021-01-09 02:00:31 +00:00
michellezhuo c17f427194 build: Add require and requireType
Add missing require and requireType for compiler upgrade.

Change-Id: Ie21418d93eb70c2213815638d6fd2d784cf6ef2e
2020-09-24 22:20:14 +00:00
Muhammad Haris 480d4a801a Parse CEA-708 Packets from Fragmented MP4 streams. (#2660)
This is an MP4 Parser which extracts CEA-708 packets from Fragmented MP4 streams.

The Closed Caption Parser (shaka.media.ClosedCaptionParser) will own this MP4 Parser, and will initialize it and call it as shown. As data comes in, the parser will parse this data, and the caption packets data then be returned in a callback (on708Data), as shown. Here, a theoretical decoder (future pull request, mentioned as a Todo comment) will decode and extract the parsed captions from these packets.

Issue #2648
2020-07-05 16:29:17 -07:00