ExoPlayer supports HLS with multiple container formats. The contained audio and video sample formats must also be supported (see the [sample formats](supported-formats.html#sample-formats) section for details). We strongly encourage HLS content producers to generate high quality HLS streams, as described [here](https://medium.com/google-exoplayer/hls-playback-in-exoplayer-a33959a47be7). | Feature | Supported | Comments | |---------|:------------:|:---------------------| | **Containers** ||| | MPEG-TS | YES || | FMP4/CMAF | YES || | ADTS (AAC) | YES || | MP3 | YES || | **Closed captions/subtitles** ||| | CEA-608 | YES || | WebVTT | YES || | **Metadata** ||| | ID3 metadata | YES || | **Content protection** ||| | AES-128 | YES || | Sample AES-128 | NO || | Widevine | YES | API 19+ ("cenc" scheme) and 25+ ("cbcs" scheme) | | PlayReady SL2000 | YES | Android TV only | | **Server control** ||| | Delta updates | YES || | Blocking playlist reload | YES || | Blocking load of preload hints | YES | Except for byteranges with undefined lengths | | **Live playback** ||| | Regular live playback | YES || | Low-latency HLS (Apple) | YES || | Low-latency HLS (Community) | NO ||