dvb_si/lib.rs
1//! ETSI EN 300 468 v1.19.1 DVB Service Information parser and builder.
2//!
3//! Entry points:
4//! - [`Parse`](dvb_common::Parse) / [`Serialize`](dvb_common::Serialize) — the two
5//! symmetric contracts every table and descriptor implements.
6//! - [`tables`] — PAT, PMT, CAT, TSDT, NIT, BAT, SDT, EIT, TDT, TOT, RST, DIT, SIT,
7//! ST, SAT, AIT, DSM-CC section, UNT, INT, RCT, CIT, RNT, Container, MPE
8//! datagram, MPE-FEC, MPE-IFEC, protection message, downloadable font info —
9//! every allocated table_id in EN 300 468 V1.19.1 Table 2.
10//! - [`descriptors`] — every DVB descriptor (tags 0x40..0x7F) plus MPEG-2 descriptors.
11//! - [`carousel`] — DSM-CC data-carousel messages (DSI/DII/DDB) + module
12//! reassembly on top of the [`tables::dsmcc`] section framing.
13//! - [`pid::well_known`] — reserved DVB/MPEG-2 PIDs.
14//! - [`table_id::TableId`] — typed table_id enum.
15//! - [`descriptor_tag::DescriptorTag`] — typed descriptor_tag enum.
16//!
17//! See the crate README and `docs/` for the structured spec reference.
18
19#![warn(missing_docs)]
20
21pub mod carousel;
22pub mod descriptor_tag;
23pub mod descriptors;
24pub mod error;
25pub mod pid;
26pub mod section;
27pub mod table_id;
28pub mod tables;
29pub mod text;
30pub mod traits;
31
32#[cfg(feature = "ts")]
33pub mod ts;
34
35pub use error::{Error, Result};
36pub use table_id::TableId;
37pub use descriptor_tag::DescriptorTag;