From da79dec6c14483bafe33c0c930a5d774d79f52ce Mon Sep 17 00:00:00 2001 From: olly Date: Mon, 17 Jul 2017 09:11:52 -0700 Subject: [PATCH] Make it a bit easier to sideload a subtitle ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=162221516 --- .../com/google/android/exoplayer2/FormatTest.java | 8 ++++---- .../java/com/google/android/exoplayer2/Format.java | 11 ++++++++--- .../exoplayer2/extractor/mkv/MatroskaExtractor.java | 4 ++-- .../extractor/mp4/FragmentedMp4Extractor.java | 4 ++-- .../extractor/ts/DefaultTsPayloadReaderFactory.java | 2 +- .../exoplayer2/source/dash/DashMediaPeriod.java | 2 +- 6 files changed, 18 insertions(+), 13 deletions(-) diff --git a/library/core/src/androidTest/java/com/google/android/exoplayer2/FormatTest.java b/library/core/src/androidTest/java/com/google/android/exoplayer2/FormatTest.java index 316fb11e9a..bdea08638b 100644 --- a/library/core/src/androidTest/java/com/google/android/exoplayer2/FormatTest.java +++ b/library/core/src/androidTest/java/com/google/android/exoplayer2/FormatTest.java @@ -94,10 +94,10 @@ public final class FormatTest extends TestCase { 500, 128, 5, 44100, INIT_DATA, null, 0, null)); testConversionToFrameworkMediaFormatV16(Format.createAudioSampleFormat(null, "audio/xyz", null, 500, Format.NO_VALUE, 5, 44100, null, null, 0, null)); - testConversionToFrameworkMediaFormatV16(Format.createTextSampleFormat(null, "text/xyz", null, - Format.NO_VALUE, 0, "eng", null)); - testConversionToFrameworkMediaFormatV16(Format.createTextSampleFormat(null, "text/xyz", null, - Format.NO_VALUE, 0, null, null)); + testConversionToFrameworkMediaFormatV16(Format.createTextSampleFormat(null, "text/xyz", 0, + "eng")); + testConversionToFrameworkMediaFormatV16(Format.createTextSampleFormat(null, "text/xyz", 0, + null)); } @SuppressLint("InlinedApi") 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 0bffd28ba5..4e387ac7ce 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 @@ -286,9 +286,14 @@ public final class Format implements Parcelable { OFFSET_SAMPLE_RELATIVE, null, null, null); } - public static Format createTextSampleFormat(String id, String sampleMimeType, String codecs, - int bitrate, @C.SelectionFlags int selectionFlags, String language, DrmInitData drmInitData) { - return createTextSampleFormat(id, sampleMimeType, codecs, bitrate, selectionFlags, language, + public static Format createTextSampleFormat(String id, String sampleMimeType, + @C.SelectionFlags int selectionFlags, String language) { + return createTextSampleFormat(id, sampleMimeType, selectionFlags, language, null); + } + + public static Format createTextSampleFormat(String id, String sampleMimeType, + @C.SelectionFlags int selectionFlags, String language, DrmInitData drmInitData) { + return createTextSampleFormat(id, sampleMimeType, null, NO_VALUE, selectionFlags, language, NO_VALUE, drmInitData, OFFSET_SAMPLE_RELATIVE, Collections.emptyList()); } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java b/library/core/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java index 041fedd391..6c4eb033ce 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java @@ -1762,8 +1762,8 @@ public final class MatroskaExtractor implements Extractor { drmInitData); } else if (MimeTypes.APPLICATION_SUBRIP.equals(mimeType)) { type = C.TRACK_TYPE_TEXT; - format = Format.createTextSampleFormat(Integer.toString(trackId), mimeType, null, - Format.NO_VALUE, selectionFlags, language, drmInitData); + format = Format.createTextSampleFormat(Integer.toString(trackId), mimeType, selectionFlags, + language, drmInitData); } else if (MimeTypes.TEXT_SSA.equals(mimeType)) { type = C.TRACK_TYPE_TEXT; initializationData = new ArrayList<>(2); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java b/library/core/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java index a756edf0a4..6dcae9c2d6 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java @@ -464,8 +464,8 @@ public final class FragmentedMp4Extractor implements Extractor { if ((flags & FLAG_ENABLE_CEA608_TRACK) != 0 && cea608TrackOutputs == null) { TrackOutput cea608TrackOutput = extractorOutput.track(trackBundles.size() + 1, C.TRACK_TYPE_TEXT); - cea608TrackOutput.format(Format.createTextSampleFormat(null, MimeTypes.APPLICATION_CEA608, - null, Format.NO_VALUE, 0, null, null)); + cea608TrackOutput.format(Format.createTextSampleFormat(null, MimeTypes.APPLICATION_CEA608, 0, + null)); cea608TrackOutputs = new TrackOutput[] {cea608TrackOutput}; } } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.java b/library/core/src/main/java/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.java index 4bc7f11c1a..40cfd7f8d9 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.java @@ -78,7 +78,7 @@ public final class DefaultTsPayloadReaderFactory implements TsPayloadReader.Fact this.flags = flags; if (!isSet(FLAG_OVERRIDE_CAPTION_DESCRIPTORS) && closedCaptionFormats.isEmpty()) { closedCaptionFormats = Collections.singletonList(Format.createTextSampleFormat(null, - MimeTypes.APPLICATION_CEA608, null, Format.NO_VALUE, 0, null, null)); + MimeTypes.APPLICATION_CEA608, 0, null)); } this.closedCaptionFormats = closedCaptionFormats; } diff --git a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaPeriod.java b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaPeriod.java index d86cc8bae2..b74dcc4f5c 100644 --- a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaPeriod.java +++ b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaPeriod.java @@ -287,7 +287,7 @@ import java.util.List; } if (hasCea608Track) { Format format = Format.createTextSampleFormat(firstAdaptationSet.id + ":cea608", - MimeTypes.APPLICATION_CEA608, null, Format.NO_VALUE, 0, null, null); + MimeTypes.APPLICATION_CEA608, 0, null); trackGroups[trackGroupCount] = new TrackGroup(format); trackGroupInfos[trackGroupCount++] = new TrackGroupInfo(C.TRACK_TYPE_TEXT, adaptationSetIndices, primaryTrackGroupIndex, false, false, false);