1#![doc = include_str!("../README.md")]
2#![no_std]
3#![cfg_attr(docsrs, feature(doc_cfg))]
4#![warn(missing_docs)]
5#![doc = "\n# Examples\n"]
8#![doc = "Three runnable examples ship with this crate (`cargo run -p mpeg-pes --example <name>`).\n"]
9#![doc = "\n## `parse_pes_packet`\n\n```rust,ignore"]
10#![doc = include_str!("../examples/parse_pes_packet.rs")]
11#![doc = "```\n\n## `extract_pts`\n\n```rust,ignore"]
12#![doc = include_str!("../examples/extract_pts.rs")]
13#![doc = "```\n\n## `build_pes_header`\n\n```rust,ignore"]
14#![doc = include_str!("../examples/build_pes_header.rs")]
15#![doc = "```"]
16
17extern crate alloc;
18
19mod assembler;
20mod error;
21mod packet;
22mod stream_id;
23mod timestamp;
24
25pub use assembler::PesAssembler;
26pub use error::{Error, Result};
27pub use packet::{
28 AdditionalCopyInfo, Escr, FREEZE_FRAME_RESERVED_VALUE, PStdBuffer, PesExtension,
29 PesExtensionField, PesHeader, PesPacket, ProgramPacketSequenceCounter, TrickMode,
30};
31pub use stream_id::{STREAM_ID_EXTENSION_AVS3_AUDIO, STREAM_ID_EXTENSION_AVS3_VIDEO, StreamId};
32pub use timestamp::{Dts, Pts};
33
34pub const PACKET_START_CODE_PREFIX: [u8; 3] = [0x00, 0x00, 0x01];