aboutsummaryrefslogtreecommitdiffstats
path: root/libs/android-transcoder/src/main/java/net/ypresto/androidtranscoder/format/MediaFormatExtraConstants.java
diff options
context:
space:
mode:
Diffstat (limited to 'libs/android-transcoder/src/main/java/net/ypresto/androidtranscoder/format/MediaFormatExtraConstants.java')
-rw-r--r--libs/android-transcoder/src/main/java/net/ypresto/androidtranscoder/format/MediaFormatExtraConstants.java56
1 files changed, 56 insertions, 0 deletions
diff --git a/libs/android-transcoder/src/main/java/net/ypresto/androidtranscoder/format/MediaFormatExtraConstants.java b/libs/android-transcoder/src/main/java/net/ypresto/androidtranscoder/format/MediaFormatExtraConstants.java
new file mode 100644
index 000000000..7f34adc97
--- /dev/null
+++ b/libs/android-transcoder/src/main/java/net/ypresto/androidtranscoder/format/MediaFormatExtraConstants.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2014 Yuya Tanaka
+ *
+ * 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 net.ypresto.androidtranscoder.format;
+
+public class MediaFormatExtraConstants {
+ // from MediaFormat of API level >= 21, but might be usable in older APIs as native code implementation exists.
+ // https://android.googlesource.com/platform/frameworks/av/+/lollipop-release/media/libstagefright/ACodec.cpp#2621
+ // NOTE: native code enforces baseline profile.
+ // https://android.googlesource.com/platform/frameworks/av/+/lollipop-release/media/libstagefright/ACodec.cpp#2638
+ /** For encoder parameter. Use value of MediaCodecInfo.CodecProfileLevel.AVCProfile* . */
+ public static final String KEY_PROFILE = "profile";
+
+ // from https://android.googlesource.com/platform/frameworks/av/+/lollipop-release/media/libstagefright/ACodec.cpp#2623
+ /** For encoder parameter. Use value of MediaCodecInfo.CodecProfileLevel.AVCLevel* . */
+ public static final String KEY_LEVEL = "level";
+
+ // from https://android.googlesource.com/platform/frameworks/av/+/lollipop-release/media/libstagefright/MediaCodec.cpp#2197
+ /** Included in MediaFormat from {@link android.media.MediaExtractor#getTrackFormat(int)}. Value is {@link java.nio.ByteBuffer}. */
+ public static final String KEY_AVC_SPS = "csd-0";
+ /** Included in MediaFormat from {@link android.media.MediaExtractor#getTrackFormat(int)}. Value is {@link java.nio.ByteBuffer}. */
+ public static final String KEY_AVC_PPS = "csd-1";
+
+ /**
+ * For decoder parameter and included in MediaFormat from {@link android.media.MediaExtractor#getTrackFormat(int)}.
+ * Decoder rotates specified degrees before rendering video to surface.
+ * NOTE: Only included in track format of API >= 21.
+ */
+ public static final String KEY_ROTATION_DEGREES = "rotation-degrees";
+
+ // Video formats
+ // from MediaFormat of API level >= 21
+ public static final String MIMETYPE_VIDEO_AVC = "video/avc";
+ public static final String MIMETYPE_VIDEO_H263 = "video/3gpp";
+ public static final String MIMETYPE_VIDEO_VP8 = "video/x-vnd.on2.vp8";
+
+ // Audio formats
+ // from MediaFormat of API level >= 21
+ public static final String MIMETYPE_AUDIO_AAC = "audio/mp4a-latm";
+
+ private MediaFormatExtraConstants() {
+ throw new RuntimeException();
+ }
+}