1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Timed-metadata / DPI signalling conversion core.
//!
//! Translates SCTE-35 splice information to and from the carriages used in OTT
//! delivery: HLS `EXT-X-DATERANGE` (RFC 8216 / draft-pantos-hls-rfc8216bis
//! §4.4.5.1) and DASH `emsg` (SCTE 214-3, scheme `urn:scte:scte35:2013:bin`).
//!
//! Conversions are lossless: the original `splice_info_section` bytes are
//! carried verbatim (DATERANGE `SCTE35-OUT` hex, emsg `message_data`).
//!
//! Pure functions live in [`convert`]; the stateful [`Timeline`] session adds a
//! wall-clock [`TimeAnchor`] and 33-bit PTS wrap-unrolling.
//!
//! [`webvtt`] converts a different kind of timed metadata — CEA-608/708
//! closed captions — to WebVTT cues (W3C WebVTT + RFC 8216 §3.5
//! `X-TIMESTAMP-MAP`), feature `cc-data` for the CEA-608/708 extraction half.
//! Lossy by design (see its module docs).
extern crate alloc;
pub use TimeAnchor;
pub use DateRange;
pub use ;
pub use ;
pub use Timeline;
/// 90 kHz — the SCTE-35 / MPEG-2 PTS clock.
pub const PTS_HZ: u64 = 90_000;