@svta/cml-608 changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Changed
PenState.foregroundisstring | null, the type ofPenStyles.foreground. A PAC without a color already set it tonull. TypeScript consumers that readforegroundas astringneed to handlenull.setStylesassigns the five styles directly, with no allocation per call. A style key that is present with the valueundefinedkeeps the previous value instead of storingundefined.SccParsertypes itsprocessorasPick<Cta608Parser, 'addData'>and itsfieldasnumber. Both wereany.- The README now has a When to use section. The section names the tasks that the package covers and the entry point of each task.
1.1.1 - 2026-10-18
Changed
@svta/cml-utilsis now a declared peer dependency with the range^1.6.2.- README: the prose is rewritten for readers who do not read English as a first language. The extractor table and the code examples are unchanged.
- README: the extraction example is complete. The sample inputs are function parameters.
1.1.0 - 2026-08-13
Added
extractCta608DataFromAv1Sampleextracts CTA-608 field data from AV1 (av01) samples, where captions are carried in ametadata_itu_t_t35OBU rather than in an SEI message. Thecc_data()payload is identical to the SEI path, so the result feedsCta608Parserunchanged. Select on the sample entry type: NAL unit and AV1 samples are framed differently and neither is self-identifying, so the framing has to come from the sample entry rather than from the bytes.
Changed
- The
cc_data()parser is now shared by the SEI and OBU carriage paths, and every caller bounds it by the structure that encloses it — the SEI message, the OBU payload, or the range handed toextractCta608Data— rather than trustingcc_countalone. No change to extracted data for well-formed input.
Fixed
- A wrong
cc_countno longer reads caption pairs out of the bytes following the payload it belongs to, which in a multi-message SEI NAL could turn the header of the next message into a caption pair. - A
user_data_registered_itu_t_t35payload carrying only the 8-byte A/53 identifier no longer throws aRangeErrorwhencc_data()would start past the end of the buffer.
1.0.3 - 2026-07-22
Fixed
- A CTA-608 mid-row style code now advances the cursor by one column. A mid-row code is a spacing attribute: it occupies one on-screen cell (a space carrying the new pen) and advances the cursor, so following text starts one column to the right. Previously
ccMIDROWonly set the pen and did not advance the cursor, so colored/italic text was rendered one column too far left. (#391)
1.0.2 - 2026-02-13
Fixed
- CEA608 parser now supports H.265 (HEVC) and H.266 (VVC) SEI NALU types in addition to H.264 (AVC). This fixes CEA608 parsing in H.265/H.266 streams.
1.0.1 - 2025-12-22
Fixed
- The
extractCta608DataFromSamplefunction is missing from@svta/cml-608(#276) - Use fixed version numbers for all CML peer dependencies (#277)