Fix Jellyfin HEVC HLS packaging and add private corpus testing workflow - #306
Merged
Conversation
added 2 commits
September 13, 2026 12:14
Use fMP4 for Jellyfin HLS profiles and capped playback URLs while preserving copy, bitrate, audio, and subtitle choices. Add regression coverage and keep the Emby dialect unchanged. Refs #303.
Document release-frame evidence, normal UI authentication, CI review gates, and remaining headset/seek acceptance. Keep live auth opt-in and inventory gitignored; preserve AGENTS.md as the pointer to canonical CLAUDE.md.
7 tasks
This was referenced Sep 13, 2026
jlipworth
added a commit
that referenced
this pull request
Sep 14, 2026
## Summary - Mitigate #305's reproduced cold AV1 encode / CoreMedia deadline / server teardown cycle by prewarming the same Emby session before AVPlayer attaches. - Scope the 20-second soft warm-up to AV1 transcodes at absent/zero resume. Direct/copy, other codecs, positive-offset handling, Jellyfin, and existing retry limits are unchanged. - Add fail-closed expected item/source identity assertions to the Emby probe and pure regression tests. ## Evidence and validation - Exact item/source baseline failed before video; warm control ready in ~6.6s. - Shipping-path candidate and clean-build repeat passed bounded seek-to-zero/hold checks with four initial and four post-hold visible frames; no remaining server encoder after stop. - Forced early preparation timeout stopped during warm-up; no late item attachment or remaining encoder. - 1,700 hermetic PMSKit tests; hygiene, strict MkDocs, links/anchors, Mermaid checks passed. - Fresh iOS, visionOS, tvOS and isolated macOS builds; iPhone browse, visionOS fixture, tvOS/macOS signed-out smoke inspected. Other-platform smokes are not AV1 live-playback acceptance. ## Review notes - Reconciled with main after #306 landed using a merge commit (no history rewrite). Current canonical corpus guidance and Jellyfin implementation/tests are retained unchanged; the obsolete duplicate corpus plan is removed. Net diff is eight AV1/identity-guard files. - Fresh post-integration exact-bound AV1 repeat reached warm readiness in 7.4s, passed with 4+4 inspected visible frames, and repeated the early-cancellation cleanup check. - #304 remains a separate HEVC visual investigation; #303 stays Jellyfin-only. HDR paused. - Physical-device, deep-seek, server-version and release gates remain open. No automatic issue closure or merge. - Raw identifiers, media names, paths, addresses, credentials, and frames remain private and are not attached. --------- Co-authored-by: Jonathan Lipworth <[email protected]>
7 tasks
jlipworth
added a commit
that referenced
this pull request
Sep 14, 2026
## Summary - Fix #304's reproduced HEVC 10-bit SDR quality-reopen corruption with full-timeline native resume/seek, preserving negotiated session/audio/container and bitrate ceilings. - Rebased onto the landed #306/#307 changes; dropped duplicate tooling/identity commits and preserved AV1 warm-up before the disjoint HEVC lane. - Condense corpus, AV1 and HEVC Markdown; retain current policy in playback architecture and unresolved evidence/gates in research notes. ## Validation - 1,704 hermetic PMSKit tests; hygiene, strict MkDocs, links/anchors and Mermaid checks. - Four fresh native builds and owned serial platform smokes; installed simulator binaries match products. - Post-rebase exact-source Original → 8 Mbps preserved progress with 4+4 inspected clean HEVC frames; native seek back to 10 minutes also passed with 4+4 clean frames. - HEVC 8-bit and H.264 transition controls passed without selecting the HEVC lane. H.264 post-transition frames include a dark title fade, not a broad scene-quality claim. - AV1 integration regression warmed in 6.539s and passed zero-seek/hold with 4+4 inspected visible frames. No remaining server encoder after stop. ## Limits The reproduced boundary is legacy offset priming/proxy startup, not a proven fragment/init/decoder mechanism or a shared cause with #291. Physical-device, broader server-version and full lifecycle/seek acceptance remain open. HDR is excluded. Known nonfatal simulator audio-session/GroupActivities warnings remain outside this fix. Private source identifiers, names, addresses, paths, credentials and frames are not attached. No automatic issue closure or merge. --------- Co-authored-by: Jonathan Lipworth <[email protected]>
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Refs #303. Separate Emby issues #304 and #305 are being investigated in another task; this PR does not claim to fix them. Unrelated HDR/display and host-deployment edits are excluded.
Validation
fbc808cc: PR docs, hygiene, PMSKit and push hygiene/PMSKit (all five successful).Remaining acceptance / scope
passedis not a perceptual-quality oracle.Please review for merge; no automatic merge requested.