# Vendored AetherEngine

This package contains the `AetherEngine` target from AetherEngine 5.8.4,
upstream revision `b05d384705792e949f22b0bd7c98ac8453cbd208`.

CloudVideoPlayer carries three groups of source changes:

- Wireless AirPlay keeps the reduced master HLS playlist when the source
  session has one. The reduced master removes Dolby Vision supplemental codec
  signaling while retaining WebVTT subtitle renditions. Upstream 5.8.4 through
  5.8.9 force `/media.m3u8`, which removes the subtitle group from the asset.
  After the AirPlay-triggered pipeline reload, the selected subtitle rendition
  is re-applied to the replacement `AVPlayerItem`.
- `IOReader.custom` accepts a `probeForDiscImage` policy. Known ordinary remote
  media can disable sparse ISO/UDF signature reads, and that policy is carried
  through probe, reopen, subtitle-reader, and frame-extraction paths.
- `AetherEngineError`, `AudioDecoderError`, `VideoDecoderError`, and
`DemuxerError` expose localized, sendable public errors so the host app can
present actionable playback failures.

The vendored package contains the `AetherEngine` library target and its
app-specific tests only. Optional upstream SMB/CLI targets, examples, and
unrelated upstream tests are not part of the app's source snapshot. The
pristine upstream archive is published beside the modified snapshot.

Keep this file, `NOTICE.md`, and `Scripts/archive_open_source_sources.sh` in sync
when rebasing the vendored source.
