Skip to content

Commit 96ad9ab

Browse files
Merge fix/ios-hdr-dv-stats-label: correct HDR/DV format label on iOS
Stats for Nerds showed 'Dolby Vision P8 -> SDR' on iPhone because the published videoFormat was gated on a tvOS HDMI Match-Content handshake (currentPanelIsHDR hardcoded false on iOS). The served stream was always real DV/HDR. Publish the capability-clamped effectiveFormat directly on iOS. Label-only; tvOS unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 parents 6e8cdbf + a4a4655 commit 96ad9ab

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

Sources/AetherEngine/AetherEngine.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,9 +1074,18 @@ public final class AetherEngine: ObservableObject {
10741074
} else {
10751075
panelHDRAfterHandshake = displayCriteria.currentPanelIsHDR()
10761076
}
1077+
#if os(iOS)
1078+
// The iPhone built-in display has no HDMI Match-Content handshake; it renders HDR/DV natively
1079+
// whenever the system reports it eligible. effectiveFormat is already clamped to displayCapabilities
1080+
// (the same signal that drives the served DV/HDR stream), so publish it directly. Gating on
1081+
// panelHDRAfterHandshake (false on iOS, kept for media-playlist routing) wrongly relabelled every
1082+
// HDR/DV title as SDR in Stats for Nerds.
1083+
videoFormat = effectiveFormat
1084+
#else
10771085
videoFormat = (effectiveFormat != .sdr && panelHDRAfterHandshake)
10781086
? effectiveFormat
10791087
: .sdr
1088+
#endif
10801089

10811090
// 3. Dispatch by codec.
10821091
// Native: HEVC/H.264 (unconditional) and AV1 on platforms with HW decode (iOS 17+/macOS 14+).

0 commit comments

Comments
 (0)