Fix propagation of HlsMetadataEntry's in HLS chunkless preparation

PiperOrigin-RevId: 263356275
This commit is contained in:
aquilescanta 2019-08-14 16:37:26 +01:00 committed by Oliver Woodman
parent 47e405ee11
commit 66ba8d7793

View File

@ -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,