From 4d92d8fb19c1a7a479e7a3f81750a161d0af16f7 Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Wed, 31 Aug 2016 03:29:03 -0700 Subject: [PATCH] Correct language propagation Issue: #1784 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=131811458 --- .../android/exoplayer/hls/HlsSampleSource.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/library/src/main/java/com/google/android/exoplayer/hls/HlsSampleSource.java b/library/src/main/java/com/google/android/exoplayer/hls/HlsSampleSource.java index 0225d4f0e75..888e7d4a0a1 100644 --- a/library/src/main/java/com/google/android/exoplayer/hls/HlsSampleSource.java +++ b/library/src/main/java/com/google/android/exoplayer/hls/HlsSampleSource.java @@ -547,11 +547,11 @@ private void buildTracks(HlsExtractorWrapper extractor) { int trackIndex = 0; for (int i = 0; i < extractorTrackCount; i++) { MediaFormat format = extractor.getMediaFormat(i).copyWithDurationUs(durationUs); - String language = null; + String muxedLanguage = null; if (MimeTypes.isAudio(format.mimeType)) { - language = chunkSource.getMuxedAudioLanguage(); + muxedLanguage = chunkSource.getMuxedAudioLanguage(); } else if (MimeTypes.APPLICATION_EIA608.equals(format.mimeType)) { - language = chunkSource.getMuxedCaptionLanguage(); + muxedLanguage = chunkSource.getMuxedCaptionLanguage(); } if (i == primaryExtractorTrackIndex) { for (int j = 0; j < chunkSourceTrackCount; j++) { @@ -559,12 +559,12 @@ private void buildTracks(HlsExtractorWrapper extractor) { chunkSourceTrackIndices[trackIndex] = j; Variant fixedTrackVariant = chunkSource.getFixedTrackVariant(j); trackFormats[trackIndex++] = fixedTrackVariant == null ? format.copyAsAdaptive(null) - : copyWithFixedTrackInfo(format, fixedTrackVariant.format, language); + : copyWithFixedTrackInfo(format, fixedTrackVariant.format, muxedLanguage); } } else { extractorTrackIndices[trackIndex] = i; chunkSourceTrackIndices[trackIndex] = -1; - trackFormats[trackIndex++] = format.copyWithLanguage(language); + trackFormats[trackIndex++] = format.copyWithLanguage(muxedLanguage); } } } @@ -590,14 +590,14 @@ private void setTrackEnabledState(int track, boolean enabledState) { * * @param format The {@link MediaFormat} to copy. * @param fixedTrackFormat The {@link Format} to incorporate into the copy. - * @param languageOverride The language to incorporate into the copy. + * @param muxedLanguage The muxed language as declared by the playlist. * @return The copied {@link MediaFormat}. */ private static MediaFormat copyWithFixedTrackInfo(MediaFormat format, Format fixedTrackFormat, - String languageOverride) { + String muxedLanguage) { int width = fixedTrackFormat.width == -1 ? MediaFormat.NO_VALUE : fixedTrackFormat.width; int height = fixedTrackFormat.height == -1 ? MediaFormat.NO_VALUE : fixedTrackFormat.height; - String language = languageOverride == null ? fixedTrackFormat.language : languageOverride; + String language = fixedTrackFormat.language == null ? muxedLanguage : fixedTrackFormat.language; return format.copyWithFixedTrackInfo(fixedTrackFormat.id, fixedTrackFormat.bitrate, width, height, language); }