Skip to content

Live HDR session on a panel parked in HDR (Match Content off) is labelled SDR for its whole length #887

Open

Description

@superuser404notfound

Reported by an integrator on 7.42.0 (Discord).

Setup: Apple TV output fixed to HDR (e.g. 4K HDR 60), Match Content (Dynamic Range + Frame Rate) off, live MPEG-TS HDR10 channel. The picture is HDR, KSPlayer reports HDR10 on the same channel, videoFormat stays .sdr for the whole session.

Chain:

  1. Match Content off: no criteria write ([DisplayCriteria] skipped: Match Content disabled), currentEDRHeadroom stays 1.00 on a panel parked in HDR, so sessionPanelPresentsHDR reads false and presentedVideoFormat(.hdr10, panelPresentsHDR: false) publishes .sdr.
  2. The AE#459 correction cannot rescue live: attemptsHDRMasterOnUnprovenPanel && !options.isLive keeps live off the unproven master, so armPlaybackPanelProbe has no master acceptance to read, and the headroom probe samples the same 1.00. republishPanelPresentsHDR never runs.
  3. Separately: a proof latched earlier in the process (a VOD title whose master was accepted) is ignored here too. panelPresentsHDR only honours it for attribution == .engineHDR, and a skipped write leaves .hostDriven.

Not a fix: falling back to sourceVideoFormat while hdrEligible is true. eligibleForHDRPlayback / availableHDRModes answer what the panel CAN present, so a box parked in 4K SDR reads eligible as well and would be labelled HDR10 (AE#459/#535). The served track's transfer function describes the source, not the output.

Fix:

  • Live attempts the unproven master like VOD. A refusal lands before the first frame (54 to 61 ms measured on VOD), and the live fallback is the existing Live HDR10 master playlist rejected by AVPlayer (-1002), never falls back to media.m3u8 #130 rejoin at the edge, i.e. where the session was joining anyway. The refusal latch still applies.
  • With Match Content off, a proof from this foreground stretch counts without an HDR write: nobody can switch the panel, and changing the parked mode means leaving the app, which clears the proof.

Still to confirm on device (no HDR live channel here): parked 4K HDR shows republishing videoFormat sdr -> hdr10; parked 4K SDR shows one -11868/-11848, the media fallback at the live edge and the latch, with no visible stall.

Activity

  1. superuser404notfound commented on Oct 25, 2026

    @superuser404notfound
    OwnerAuthor

    Merged to main in a27e07f (fix 0268bdf), release collected. Waiting on the reporter's device runs: output fixed to 4K HDR should log republishing videoFormat sdr -> hdr10; fixed to 4K SDR should log one -11868/-11848, the fallback at the live edge and the refusal latch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions