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 12e34019d6..6381fff8dd 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 @@ -23,6 +23,7 @@ import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.SeekParameters; import com.google.android.exoplayer2.drm.DrmInitData; import com.google.android.exoplayer2.extractor.Extractor; +import com.google.android.exoplayer2.metadata.Metadata; import com.google.android.exoplayer2.offline.StreamKey; import com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory; import com.google.android.exoplayer2.source.MediaPeriod; @@ -773,7 +774,7 @@ public final class HlsMediaPeriod implements MediaPeriod, HlsSampleStreamWrapper variantFormat.containerMimeType, sampleMimeType, codecs, - /* metadata= */ null, + variantFormat.metadata, variantFormat.bitrate, variantFormat.width, variantFormat.height, @@ -786,6 +787,7 @@ public final class HlsMediaPeriod implements MediaPeriod, HlsSampleStreamWrapper private static Format deriveAudioFormat( Format variantFormat, Format mediaTagFormat, boolean isPrimaryTrackInVariant) { String codecs; + Metadata metadata; int channelCount = Format.NO_VALUE; int selectionFlags = 0; int roleFlags = 0; @@ -793,6 +795,7 @@ public final class HlsMediaPeriod implements MediaPeriod, HlsSampleStreamWrapper String label = null; if (mediaTagFormat != null) { codecs = mediaTagFormat.codecs; + metadata = mediaTagFormat.metadata; channelCount = mediaTagFormat.channelCount; selectionFlags = mediaTagFormat.selectionFlags; roleFlags = mediaTagFormat.roleFlags; @@ -800,6 +803,7 @@ public final class HlsMediaPeriod implements MediaPeriod, HlsSampleStreamWrapper label = mediaTagFormat.label; } else { codecs = Util.getCodecsOfType(variantFormat.codecs, C.TRACK_TYPE_AUDIO); + metadata = variantFormat.metadata; if (isPrimaryTrackInVariant) { channelCount = variantFormat.channelCount; selectionFlags = variantFormat.selectionFlags; @@ -816,7 +820,7 @@ public final class HlsMediaPeriod implements MediaPeriod, HlsSampleStreamWrapper variantFormat.containerMimeType, sampleMimeType, codecs, - /* metadata= */ null, + metadata, bitrate, channelCount, /* sampleRate= */ Format.NO_VALUE,