From 40d9838315b4f61d546d21a3d58778368ef8b10d Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 21 Dec 2021 08:50:44 +0000 Subject: [PATCH] Rename HLS master playlist to multivariant playlist The spec renamed this type of playlist in the latest revision to use a more inclusive technical term (see https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-10) PiperOrigin-RevId: 417560274 --- demos/main/src/main/assets/media.exolist.json | 4 +- .../java/androidx/media3/common/Format.java | 3 +- .../hls/BundledHlsMediaChunkExtractor.java | 13 +- .../hls/DefaultHlsExtractorFactory.java | 5 +- .../media3/exoplayer/hls/HlsChunkSource.java | 6 +- .../exoplayer/hls/HlsExtractorFactory.java | 2 +- .../media3/exoplayer/hls/HlsManifest.java | 33 +- .../media3/exoplayer/hls/HlsMediaChunk.java | 2 +- .../media3/exoplayer/hls/HlsMediaPeriod.java | 99 +++--- .../media3/exoplayer/hls/HlsMediaSource.java | 15 +- .../exoplayer/hls/HlsSampleStreamWrapper.java | 37 +- .../exoplayer/hls/offline/HlsDownloader.java | 12 +- .../DefaultHlsPlaylistParserFactory.java | 5 +- .../playlist/DefaultHlsPlaylistTracker.java | 55 +-- .../FilteringHlsPlaylistParserFactory.java | 5 +- .../hls/playlist/HlsMasterPlaylist.java | 284 +-------------- .../hls/playlist/HlsMultivariantPlaylist.java | 322 ++++++++++++++++++ .../hls/playlist/HlsPlaylistParser.java | 36 +- .../playlist/HlsPlaylistParserFactory.java | 10 +- .../hls/playlist/HlsPlaylistTracker.java | 22 +- .../exoplayer/hls/HlsMediaPeriodTest.java | 21 +- .../hls/offline/HlsDownloadTestData.java | 12 +- .../hls/offline/HlsDownloaderTest.java | 30 +- .../DefaultHlsPlaylistTrackerTest.java | 73 ++-- .../playlist/HlsMediaPlaylistParserTest.java | 18 +- ...=> HlsMultivariantPlaylistParserTest.java} | 108 +++--- ...y_master => live_low_latency_multivariant} | 0 ...latency_multivariant_media_uri_with_param} | 0 28 files changed, 676 insertions(+), 556 deletions(-) create mode 100644 libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/playlist/HlsMultivariantPlaylist.java rename libraries/exoplayer_hls/src/test/java/androidx/media3/exoplayer/hls/playlist/{HlsMasterPlaylistParserTest.java => HlsMultivariantPlaylistParserTest.java} (82%) rename libraries/test_data/src/test/assets/media/m3u8/{live_low_latency_master => live_low_latency_multivariant} (100%) rename libraries/test_data/src/test/assets/media/m3u8/{live_low_latency_master_media_uri_with_param => live_low_latency_multivariant_media_uri_with_param} (100%) diff --git a/demos/main/src/main/assets/media.exolist.json b/demos/main/src/main/assets/media.exolist.json index 7659abe5f1..d1db406667 100644 --- a/demos/main/src/main/assets/media.exolist.json +++ b/demos/main/src/main/assets/media.exolist.json @@ -237,11 +237,11 @@ "uri": "https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8" }, { - "name": "Apple master playlist advanced (TS)", + "name": "Apple multivariant playlist advanced (TS)", "uri": "https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_ts/master.m3u8" }, { - "name": "Apple master playlist advanced (FMP4)", + "name": "Apple multivariant playlist advanced (FMP4)", "uri": "https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_fmp4/master.m3u8" }, { diff --git a/libraries/common/src/main/java/androidx/media3/common/Format.java b/libraries/common/src/main/java/androidx/media3/common/Format.java index 8daef4a2cd..0fdff12234 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Format.java +++ b/libraries/common/src/main/java/androidx/media3/common/Format.java @@ -629,7 +629,8 @@ public final class Format implements Bundleable { *