Skip to content

Terminal load errors discard the HTTP status the engine already computed #283

Description

@edde746

AetherEngine.swift:2343, :2470, :2610:

state = .error("Failed to load: \(error.localizedDescription)")

HLSIngestError is CustomStringConvertible but not LocalizedError, so localizedDescription falls through to Foundation's generic bridge:

description         : playlistUnreachable(500)
localizedDescription: The operation couldn't be completed. (HLSIngestError error 0.)

The status is raised correctly (HLSVODIngestReader.swift:499-501) and rendered correctly (HLSIngestError.swift:17-19), then dropped at the boundary. A server refusing a transcode is currently indistinguishable from a corrupt file.

Ask: state = .error("Failed to load: \(error)"), or conform the error enums to LocalizedError with errorDescription returning description. The second fixes the class rather than three call sites; no preference beyond that.

Scope: load path only. A mid-session failure on the nativeRemoteHLS bypass arrives through AVPlayerItem (NativeAVPlayerHost.handleItemFailed:610-660) and is not addressed here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions