diff --git a/library/common/src/main/java/com/google/android/exoplayer2/util/MimeTypes.java b/library/common/src/main/java/com/google/android/exoplayer2/util/MimeTypes.java index 47f8cc5fbc..f2b160f368 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/util/MimeTypes.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/util/MimeTypes.java @@ -529,6 +529,16 @@ public final class MimeTypes { } } + /** Returns whether the given {@code mimeType} is a WebM MIME type. */ + public static boolean isWebm(@Nullable String mimeType) { + if (mimeType == null) { + return false; + } + return mimeType.startsWith(MimeTypes.VIDEO_WEBM) + || mimeType.startsWith(MimeTypes.AUDIO_WEBM) + || mimeType.startsWith(MimeTypes.APPLICATION_WEBM); + } + /** * Returns the top-level type of {@code mimeType}, or null if {@code mimeType} is null or does not * contain a forward slash character ({@code '/'}). diff --git a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.java b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.java index e34afaeb48..5a9cf67d4f 100644 --- a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.java +++ b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.java @@ -771,11 +771,6 @@ public class DefaultDashChunkSource implements DashChunkSource { return getFirstSegmentNum() + availableSegmentCount - 1; } - private static boolean mimeTypeIsWebm(String mimeType) { - return mimeType.startsWith(MimeTypes.VIDEO_WEBM) || mimeType.startsWith(MimeTypes.AUDIO_WEBM) - || mimeType.startsWith(MimeTypes.APPLICATION_WEBM); - } - @Nullable private static ChunkExtractor createChunkExtractor( int trackType, @@ -784,6 +779,7 @@ public class DefaultDashChunkSource implements DashChunkSource { List closedCaptionFormats, @Nullable TrackOutput playerEmsgTrackOutput) { String containerMimeType = representation.format.containerMimeType; + Extractor extractor; if (MimeTypes.isText(containerMimeType)) { if (MimeTypes.APPLICATION_RAWCC.equals(containerMimeType)) { @@ -793,7 +789,7 @@ public class DefaultDashChunkSource implements DashChunkSource { // All other text types are raw formats that do not need an extractor. return null; } - } else if (mimeTypeIsWebm(containerMimeType)) { + } else if (MimeTypes.isWebm(containerMimeType)) { extractor = new MatroskaExtractor(MatroskaExtractor.FLAG_DISABLE_SEEK_FOR_CUES); } else { int flags = 0;