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
39
40
41
42
43
44
45
46
47
//! `bdinfo-rs-core` — a memory-safe Blu-ray disc analyzer library.
//!
//! This is the library the `bdinfo-rs` CLI drives: it reads a Blu-ray disc
//! structure (a BDMV folder tree or a UDF `.iso` image), parses the index,
//! playlist, and clip-information files, demuxes the transport streams, and
//! reports every elementary stream's codec details.
//!
//! Design rules:
//! - `#![forbid(unsafe_code)]` — memory safety is the point.
//! - Every read is bounds-checked and fallible; we never index raw or panic on input-derived bytes
//! (the `indexing_slicing` / `unwrap_used` gate enforces this).
//! - All multi-byte integers are big-endian and host-independent — with one exception: the UDF
//! descriptors in `vfs::udf` are little-endian, per ECMA-167.
// The library never writes to stdout/stderr — emitting output is the caller's
// job. Workspace lints can't target a single crate, so this is crate-scoped on
// top of `[lints] workspace = true`; the `bdinfo-rs` CLI keeps `println!`.
/// Returns the version of the `bdinfo-rs-core` library crate (its `CARGO_PKG_VERSION`).
pub const