mux: sink and reader audit fixes; DTS in MP4; halt-aware network receive

Fixes from the mkv, mp4, network and ts sink audit; track timing and
DiscardPadding ride the FMKV wire. MP4 writes DTS per ETSI TS 102 114
(ddts rates and timescales). The MKV PCM depth probe is bounded and
evidence-based. Network receives use keepalive and wait on readiness,
so a Stop or a dead peer ends them.
This commit is contained in:
Matthew Jackson
2026-09-27 12:40:50 -07:00
parent d6396005b8
commit 503a80884e
25 changed files with 2917 additions and 247 deletions
+8
View File
@@ -48,6 +48,8 @@ rip = [
"dep:crossbeam-channel",
"dep:rayon",
"dep:memchr",
"dep:socket2",
"dep:rustix",
]
[dependencies]
@@ -62,6 +64,12 @@ aes = { version = "0.9", optional = true }
freemkv-unlock = { path = "../freemkv-unlock", optional = true }
zip = { version = "8", default-features = false, features = ["deflate"], optional = true }
base64 = { version = "0.23", optional = true }
# Safe TCP keepalive setup for `network://` receive (dead-peer detection);
# `all` provides TcpKeepalive::with_retries.
socket2 = { version = "0.6", features = ["all"], optional = true }
# Safe readiness poll (poll/WSAPoll) so a halt-aware `network://` receive never
# arms SO_RCVTIMEO, which on Windows can drop data when it cancels a recv.
rustix = { version = "1", default-features = false, features = ["std", "event"], optional = true }
# Read-only XML DOM parser (pure Rust, forbid(unsafe_code), entity-expansion
# bounded). Parses the HD-DVD Advanced-Content playlist `ADV_OBJ/VPLST000.XPL`
# — untrusted disc bytes — into authoritative titles/clips/chapters. A real