diff options
Diffstat (limited to 'src/com/android/exoplayer2/ext/ffmpeg/FfmpegLibrary.java')
-rw-r--r-- | src/com/android/exoplayer2/ext/ffmpeg/FfmpegLibrary.java | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/src/com/android/exoplayer2/ext/ffmpeg/FfmpegLibrary.java b/src/com/android/exoplayer2/ext/ffmpeg/FfmpegLibrary.java deleted file mode 100644 index daa77340..00000000 --- a/src/com/android/exoplayer2/ext/ffmpeg/FfmpegLibrary.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.google.android.exoplayer2.ext.ffmpeg; - -import com.google.android.exoplayer2.util.LibraryLoader; -import com.google.android.exoplayer2.util.MimeTypes; - -/** - * This class is based on com.google.android.exoplayer2.ext.ffmpeg.FfmpegLibrary from ExoPlayer2 - * in order to support mp2 decoder. - * Configures and queries the underlying native library. - */ -public final class FfmpegLibrary { - - private static final LibraryLoader LOADER = - new LibraryLoader("avutil", "avresample", "avcodec", "ffmpeg"); - - private FfmpegLibrary() {} - - /** - * Overrides the names of the FFmpeg native libraries. If an application wishes to call this - * method, it must do so before calling any other method defined by this class, and before - * instantiating a {@link FfmpegAudioRenderer} instance. - */ - public static void setLibraries(String... libraries) { - LOADER.setLibraries(libraries); - } - - /** - * Returns whether the underlying library is available, loading it if necessary. - */ - public static boolean isAvailable() { - return LOADER.isAvailable(); - } - - /** - * Returns the version of the underlying library if available, or null otherwise. - */ - public static String getVersion() { - return isAvailable() ? ffmpegGetVersion() : null; - } - - /** - * Returns whether the underlying library supports the specified MIME type. - */ - public static boolean supportsFormat(String mimeType) { - if (!isAvailable()) { - return false; - } - String codecName = getCodecName(mimeType); - return codecName != null && ffmpegHasDecoder(codecName); - } - - /** - * Returns the name of the FFmpeg decoder that could be used to decode {@code mimeType}. - */ - /* package */ static String getCodecName(String mimeType) { - switch (mimeType) { - case MimeTypes.AUDIO_MPEG_L2: - return "mp2"; - case MimeTypes.AUDIO_AC3: - return "ac3"; - default: - return null; - } - } - - private static native String ffmpegGetVersion(); - private static native boolean ffmpegHasDecoder(String codecName); - -} |