From 1bf1790edc9428f1b77591f0911f60e97abdf3d5 Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Mon, 15 Apr 2019 11:00:12 +0100 Subject: [PATCH] Extract factory method for FragmentedMp4Extractor in DefaultHlsExtractorFactory PiperOrigin-RevId: 243582468 --- library/dash/src/main/proguard-rules.txt | 1 + .../hls/DefaultHlsExtractorFactory.java | 27 ++++++++++--------- library/hls/src/main/proguard-rules.txt | 1 + .../src/main/proguard-rules.txt | 1 + 4 files changed, 18 insertions(+), 12 deletions(-) create mode 120000 library/dash/src/main/proguard-rules.txt create mode 120000 library/hls/src/main/proguard-rules.txt create mode 120000 library/smoothstreaming/src/main/proguard-rules.txt diff --git a/library/dash/src/main/proguard-rules.txt b/library/dash/src/main/proguard-rules.txt new file mode 120000 index 0000000000..499fb08b36 --- /dev/null +++ b/library/dash/src/main/proguard-rules.txt @@ -0,0 +1 @@ +../../proguard-rules.txt \ No newline at end of file diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/DefaultHlsExtractorFactory.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/DefaultHlsExtractorFactory.java index 5cfbb960d5..9fde54a705 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/DefaultHlsExtractorFactory.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/DefaultHlsExtractorFactory.java @@ -16,6 +16,7 @@ package com.google.android.exoplayer2.source.hls; import android.net.Uri; +import androidx.annotation.Nullable; import android.text.TextUtils; import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.drm.DrmInitData; @@ -157,12 +158,7 @@ public final class DefaultHlsExtractorFactory implements HlsExtractorFactory { if (!(extractorByFileExtension instanceof FragmentedMp4Extractor)) { FragmentedMp4Extractor fragmentedMp4Extractor = - new FragmentedMp4Extractor( - /* flags= */ 0, - timestampAdjuster, - /* sideloadedTrack= */ null, - drmInitData, - muxedCaptionFormats != null ? muxedCaptionFormats : Collections.emptyList()); + createFragmentedMp4Extractor(timestampAdjuster, drmInitData, muxedCaptionFormats); if (sniffQuietly(fragmentedMp4Extractor, extractorInput)) { return buildResult(fragmentedMp4Extractor); } @@ -212,12 +208,7 @@ public final class DefaultHlsExtractorFactory implements HlsExtractorFactory { || lastPathSegment.startsWith(M4_FILE_EXTENSION_PREFIX, lastPathSegment.length() - 4) || lastPathSegment.startsWith(MP4_FILE_EXTENSION_PREFIX, lastPathSegment.length() - 5) || lastPathSegment.startsWith(CMF_FILE_EXTENSION_PREFIX, lastPathSegment.length() - 5)) { - return new FragmentedMp4Extractor( - /* flags= */ 0, - timestampAdjuster, - /* sideloadedTrack= */ null, - drmInitData, - muxedCaptionFormats != null ? muxedCaptionFormats : Collections.emptyList()); + return createFragmentedMp4Extractor(timestampAdjuster, drmInitData, muxedCaptionFormats); } else { // For any other file extension, we assume TS format. return createTsExtractor( @@ -274,6 +265,18 @@ public final class DefaultHlsExtractorFactory implements HlsExtractorFactory { new DefaultTsPayloadReaderFactory(payloadReaderFactoryFlags, muxedCaptionFormats)); } + private static FragmentedMp4Extractor createFragmentedMp4Extractor( + TimestampAdjuster timestampAdjuster, + DrmInitData drmInitData, + @Nullable List muxedCaptionFormats) { + return new FragmentedMp4Extractor( + /* flags= */ 0, + timestampAdjuster, + /* sideloadedTrack= */ null, + drmInitData, + muxedCaptionFormats != null ? muxedCaptionFormats : Collections.emptyList()); + } + private static Result buildResultForSameExtractorType( Extractor previousExtractor, Format format, TimestampAdjuster timestampAdjuster) { if (previousExtractor instanceof WebvttExtractor) { diff --git a/library/hls/src/main/proguard-rules.txt b/library/hls/src/main/proguard-rules.txt new file mode 120000 index 0000000000..499fb08b36 --- /dev/null +++ b/library/hls/src/main/proguard-rules.txt @@ -0,0 +1 @@ +../../proguard-rules.txt \ No newline at end of file diff --git a/library/smoothstreaming/src/main/proguard-rules.txt b/library/smoothstreaming/src/main/proguard-rules.txt new file mode 120000 index 0000000000..499fb08b36 --- /dev/null +++ b/library/smoothstreaming/src/main/proguard-rules.txt @@ -0,0 +1 @@ +../../proguard-rules.txt \ No newline at end of file