summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/java/android/media/MediaRecorder.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java
index 73485afcecff..94e894f9ce9d 100644
--- a/media/java/android/media/MediaRecorder.java
+++ b/media/java/android/media/MediaRecorder.java
@@ -746,6 +746,27 @@ public class MediaRecorder
}
/**
+ * Sets the video encoding profile for recording. Call this method before prepare().
+ * Prepare() may perform additional checks on the parameter to make sure whether the
+ * specified profile and level are applicable, and sometimes the passed profile or
+ * level will be discarded due to codec capablity or to ensure the video recording
+ * can proceed smoothly based on the capabilities of the platform.
+ * @hide
+ * @param profile declared in {@link MediaCodecInfo.CodecProfileLevel}.
+ * @param level declared in {@link MediaCodecInfo.CodecProfileLevel}.
+ */
+ public void setVideoEncodingProfileLevel(int profile, int level) {
+ if (profile <= 0) {
+ throw new IllegalArgumentException("Video encoding profile is not positive");
+ }
+ if (level <= 0) {
+ throw new IllegalArgumentException("Video encoding level is not positive");
+ }
+ setParameter("video-param-encoder-profile=" + profile);
+ setParameter("video-param-encoder-level=" + level);
+ }
+
+ /**
* Currently not implemented. It does nothing.
* @deprecated Time lapse mode video recording using camera still image capture
* is not desirable, and will not be supported.