5.5.1
Patch release: live HDR10 master playlist rejection (#130).
Fixed
-
Live HDR10 channels no longer fail at startup with -1002 (#130). AVPlayer filters a
VIDEO-RANGE=PQ/HLGvariant that carries noFRAME-RATEattribute out of the master playlist at parse time and fails the item withNSURLErrorDomain -1002("unsupported URL") before ever fetchingmedia.m3u8. Live MPEG-TS probes can leaveavg_frame_rateunset, so a live HDR session could serve exactly that master, and nothing recovered it: the #98 reactive fallback only covered -11868/-11848, and the #35 cold-start gate is VOD-only. Isolated with a byte-exact local repro of the served master (same 213-byte playlist, same double master fetch, same -1002; addingFRAME-RATEmakes AVPlayer accept the variant, and SDR variants are accepted without it).Three layers, all engine-side:
- The master
FRAME-RATEattribute now uses the sameavg_frame_ratetor_frame_ratefallback chain as the host probe, so live TS sessions carry a real frame rate in the manifest. - A source whose frame rate is unknown even after the fallback routes media-direct instead of serving a master AVPlayer provably rejects. SDR masters (native-subtitle routing, #15) are unaffected.
- A startup -1002 while serving the master is now classified as a master rejection and reactively falls back to the media playlist, live sessions included; the live fallback rejoins at the live edge instead of replaying a stale start position.
- The master
Thanks to digilearn-dev for the precise report, including the served master body and the observation that the missing FRAME-RATE attribute might be involved. That hunch was exactly right.