From a572fb3f22d73c60ce5ab3eaa7db9dd1e3356dcb Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Wed, 14 Aug 2019 12:37:44 +0100 Subject: [PATCH] Add a metadata argument to Format factory methods used in HLS Required for propagation of HlsMetadataEntry's in chunkless preparation. PiperOrigin-RevId: 263324345 --- .../com/google/android/exoplayer2/Format.java | 16 ++++++++++------ .../source/dash/manifest/DashManifestParser.java | 2 ++ .../exoplayer2/source/dash/DashUtilTest.java | 1 + .../exoplayer2/source/hls/HlsMediaPeriod.java | 2 ++ .../source/hls/playlist/HlsPlaylistParser.java | 3 +++ .../source/hls/HlsMediaPeriodTest.java | 3 +++ .../manifest/SsManifestParser.java | 2 ++ 7 files changed, 23 insertions(+), 6 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/Format.java b/library/core/src/main/java/com/google/android/exoplayer2/Format.java index b2bd20f0fe..37539845dc 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/Format.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/Format.java @@ -180,8 +180,8 @@ public final class Format implements Parcelable { // Video. /** - * @deprecated Use {@link #createVideoContainerFormat(String, String, String, String, String, int, - * int, int, float, List, int, int)} instead. + * @deprecated Use {@link #createVideoContainerFormat(String, String, String, String, String, + * Metadata, int, int, int, float, List, int, int)} instead. */ @Deprecated public static Format createVideoContainerFormat( @@ -201,6 +201,7 @@ public final class Format implements Parcelable { containerMimeType, sampleMimeType, codecs, + /* metadata= */ null, bitrate, width, height, @@ -216,6 +217,7 @@ public final class Format implements Parcelable { @Nullable String containerMimeType, String sampleMimeType, String codecs, + @Nullable Metadata metadata, int bitrate, int width, int height, @@ -230,7 +232,7 @@ public final class Format implements Parcelable { roleFlags, bitrate, codecs, - /* metadata= */ null, + metadata, containerMimeType, sampleMimeType, /* maxInputSize= */ NO_VALUE, @@ -363,8 +365,8 @@ public final class Format implements Parcelable { // Audio. /** - * @deprecated Use {@link #createAudioContainerFormat(String, String, String, String, String, int, - * int, int, List, int, int, String)} instead. + * @deprecated Use {@link #createAudioContainerFormat(String, String, String, String, String, + * Metadata, int, int, int, List, int, int, String)} instead. */ @Deprecated public static Format createAudioContainerFormat( @@ -384,6 +386,7 @@ public final class Format implements Parcelable { containerMimeType, sampleMimeType, codecs, + /* metadata= */ null, bitrate, channelCount, sampleRate, @@ -399,6 +402,7 @@ public final class Format implements Parcelable { @Nullable String containerMimeType, @Nullable String sampleMimeType, @Nullable String codecs, + @Nullable Metadata metadata, int bitrate, int channelCount, int sampleRate, @@ -413,7 +417,7 @@ public final class Format implements Parcelable { roleFlags, bitrate, codecs, - /* metadata= */ null, + metadata, containerMimeType, sampleMimeType, /* maxInputSize= */ NO_VALUE, diff --git a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java index 8affcb27ce..9f6cce672e 100644 --- a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java +++ b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.java @@ -596,6 +596,7 @@ public class DashManifestParser extends DefaultHandler containerMimeType, sampleMimeType, codecs, + /* metadata= */ null, bitrate, width, height, @@ -610,6 +611,7 @@ public class DashManifestParser extends DefaultHandler containerMimeType, sampleMimeType, codecs, + /* metadata= */ null, bitrate, audioChannels, audioSamplingRate, diff --git a/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DashUtilTest.java b/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DashUtilTest.java index a53b1ff80d..6e769b72e1 100644 --- a/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DashUtilTest.java +++ b/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/DashUtilTest.java @@ -80,6 +80,7 @@ public final class DashUtilTest { MimeTypes.VIDEO_MP4, MimeTypes.VIDEO_H264, /* codecs= */ "", + /* metadata= */ null, Format.NO_VALUE, /* width= */ 1024, /* height= */ 768, diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.java index 8053958c2b..f4f91cf1b4 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.java @@ -787,6 +787,7 @@ public final class HlsMediaPeriod implements MediaPeriod, HlsSampleStreamWrapper variantFormat.containerMimeType, sampleMimeType, codecs, + /* metadata= */ null, variantFormat.bitrate, variantFormat.width, variantFormat.height, @@ -829,6 +830,7 @@ public final class HlsMediaPeriod implements MediaPeriod, HlsSampleStreamWrapper variantFormat.containerMimeType, sampleMimeType, codecs, + /* metadata= */ null, bitrate, channelCount, /* sampleRate= */ Format.NO_VALUE, diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java index 42b27f259f..030520f8cb 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java @@ -349,6 +349,7 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser { MimeTypes.VIDEO_MP4, sampleMimeType, /* codecs= */ null, + /* metadata= */ null, bitrate, width, height, @@ -706,6 +707,7 @@ public class SsManifestParser implements ParsingLoadable.Parser { MimeTypes.AUDIO_MP4, sampleMimeType, /* codecs= */ null, + /* metadata= */ null, bitrate, channels, samplingRate,