Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0f3b13fe authored by Fyodor Kyslov's avatar Fyodor Kyslov Committed by Android (Google) Code Review
Browse files

Merge "Add APV support to MediaRecorder" into main

parents 4b1b0d2a c4f251ff
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ aconfig_declarations_group {
        "android.hardware.usb.flags-aconfig-java",
        "android.location.flags-aconfig-java",
        "android.media.codec-aconfig-java",
        "android.media.mediarecorder-aconfig-java",
        "android.media.tv.flags-aconfig-java",
        "android.multiuser.flags-aconfig-java",
        "android.net.platform.flags-aconfig-java",
+1 −0
Original line number Diff line number Diff line
@@ -25206,6 +25206,7 @@ package android.media {
  }
  public final class MediaRecorder.VideoEncoder {
    field @FlaggedApi("android.media.mediarecorder.apv_recording_support") public static final int APV = 9; // 0x9
    field public static final int AV1 = 8; // 0x8
    field public static final int DEFAULT = 0; // 0x0
    field public static final int DOLBY_VISION = 7; // 0x7
+6 −0
Original line number Diff line number Diff line
@@ -16,6 +16,9 @@

package android.media;

import static android.media.codec.Flags.apvSupport;
import static android.media.mediarecorder.Flags.apvRecordingSupport;

import android.annotation.IntDef;
import android.annotation.NonNull;

@@ -106,6 +109,9 @@ public final class EncoderProfiles
                return MediaFormat.MIMETYPE_VIDEO_DOLBY_VISION;
            } else if (codec == MediaRecorder.VideoEncoder.AV1) {
                return MediaFormat.MIMETYPE_VIDEO_AV1;
            } else if (apvRecordingSupport() && apvSupport()
                        && codec == MediaRecorder.VideoEncoder.APV) {
                return MediaFormat.MIMETYPE_VIDEO_APV;
            }
            // we should never be here
            throw new RuntimeException("Unknown codec");
+14 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.media;

import static android.media.audio.Flags.FLAG_ROUTED_DEVICE_IDS;
import static android.media.mediarecorder.Flags.FLAG_APV_RECORDING_SUPPORT;

import android.annotation.CallbackExecutor;
import android.annotation.FlaggedApi;
@@ -706,15 +707,27 @@ public class MediaRecorder implements AudioRouting,
       * in include/media/mediarecorder.h!
       */
        private VideoEncoder() {}
        /** Default video codec */
        public static final int DEFAULT = 0;
        /** H.263 video codec */
        public static final int H263 = 1;
        /** H.264 video codec */
        public static final int H264 = 2;
        /** MPEG-4 SP video codec */
        public static final int MPEG_4_SP = 3;
        /** VP8 video codec */
        public static final int VP8 = 4;
        /** HEVC/H.265 video codec */
        public static final int HEVC = 5;
        /** VP9 video codec */
        public static final int VP9 = 6;
        /** Dolby Vision video codec */
        public static final int DOLBY_VISION = 7;
        /** AV1 video codec */
        public static final int AV1 = 8;
        /** APV video codec */
        @FlaggedApi(FLAG_APV_RECORDING_SUPPORT)
        public static final int APV = 9;
    }

    /**
@@ -730,6 +743,7 @@ public class MediaRecorder implements AudioRouting,
        VideoEncoder.VP9,
        VideoEncoder.DOLBY_VISION,
        VideoEncoder.AV1,
        VideoEncoder.APV,
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface VideoEncoderValues {}