AVPlayer is the AVFoundation class that every Apple-platform video app instantiates to play media. It accepts an URL, parses HLS playlists internally, runs Apple's ABR algorithm, decodes via the platform's hardware decoder, and renders via Core Animation layers. FairPlay DRM is integrated natively — the app provides a content key session and a license response, and AVPlayer handles the rest invisibly. There is no equivalent of MSE/EME on iOS: AVPlayer is the only practical option.

For HLS playback specifically, AVPlayer is fastest, most efficient and most battery-friendly. It supports LL-HLS natively since iOS 14, content steering since iOS 17, AV1 decode where hardware is present (iPhone 15 Pro and newer), Dolby Vision, spatial audio, and every HLS feature Apple has added since 2009. The Apple HLS Authoring Specification is what AVPlayer targets — features in the spec ship in AVPlayer first, then in third-party players.

The flip side is that AVPlayer is closed: you cannot swap in your own ABR algorithm, your own segment fetching, or your own decryption pipeline. For apps that need consistency across iOS and Android (where they run ExoPlayer or a JavaScript player) the choice is often AVPlayer for iOS and ExoPlayer for Android. The Web on iOS now also supports MSE through ManagedMediaSource (since iOS 17.1, late 2023), opening hls.js as an alternative, though AVPlayer remains the default for native apps.