mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00

ExoPlayer needs a codec to decide among WEBVTT and TTML decoder mimeType. Apple describes IMSC1 in MP4 in [RFC-8216 Section 3.6](https://tools.ietf.org/html/draft-pantos-hls-rfc8216bis-04#section-3.6). The DASH manifest specifies the SMPTE-TT captions in the codecs in the manifest (from W3C [TTML Profiles for Internet Media Subtitles and Captions 1.1](https://www.w3.org/TR/ttml-imsc1.1/#general-0). DASH just doesn't require the rendition linking, but HLS does. Apple implies the CODECS attribute of the variant needs to be do this. That is with SHOULD and MAY language to imply the codec to use for it in the [Authoring Guidelines](https://developer.apple.com/documentation/http_live_streaming/hls_authoring_specification_for_apple_devices) This change defaults to WebVTT if no codec is specifed (same as current behavior) otherwise it picks it from the variants referencing the media.