18.4 · HLS, buffering, Now Playing, remote commands, Picture in Picture and AirPlay
Most media apps stream, and every media app must cooperate with the system: the lock screen, headphones, the car, the TV. These are mostly configuration, and mostly where the bugs are.
Mental model. Streaming is choosing the right chunk at the right time. System integration is telling the OS what is playing and answering its commands.
Streaming
HLS playlists, adaptive bitrate, buffering and stalls, FairPlay at a high level.
- How does HLS adaptive streaming work, why do stalls happen, and what does FairPlay add?
HTTP Live Streaming (HLS) delivers media as ordinary HTTP downloads of short segments (a few seconds each), described by text playlists (.m3u8). A master…
Integration
Now Playing, remote commands, Picture in Picture and AirPlay.
- How do Now Playing info, remote commands, Picture in Picture and AirPlay integrate a player with the system?
A media app is not just a player; the system, headphones, the car and other devices all want to know what is playing and to control it. Now Playing: set…
More in Media & graphics
- 18.1 · AVPlayer, time, and editing with compositions
- 18.2 · The audio session, interruptions, routes and AVAudioEngine
- 18.3 · AVCaptureSession, and zero-copy pixel buffers
- 18.5 · ImageIO formats, Core Image, Metal, and SceneKit versus RealityKit
- 18.6 · VideoToolbox, tvOS focus and media, and building a playback platform
- 18.7 · Thumbnails and orientation, GIF timing, bitmap layout, and colour spaces
- 18.8 · Extents, working colour space, and a compute pass from start to finish
- 18.9 · Reading an asset, grabbing frames, reading samples, frame-exact time, and pixel buffers