diff --git a/api/current.txt b/api/current.txt index e6d85460430ed..920ce6cf49239 100644 --- a/api/current.txt +++ b/api/current.txt @@ -15210,6 +15210,7 @@ package android.media { field public static final java.lang.String KEY_MAX_INPUT_SIZE = "max-input-size"; field public static final java.lang.String KEY_MAX_WIDTH = "max-width"; field public static final java.lang.String KEY_MIME = "mime"; + field public static final java.lang.String KEY_PRIORITY = "priority"; field public static final java.lang.String KEY_PROFILE = "profile"; field public static final java.lang.String KEY_PUSH_BLANK_BUFFERS_ON_STOP = "push-blank-buffers-on-shutdown"; field public static final java.lang.String KEY_REPEAT_PREVIOUS_FRAME_AFTER = "repeat-previous-frame-after"; diff --git a/api/system-current.txt b/api/system-current.txt index ca841336a9d61..b460aa09a38b7 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -16207,6 +16207,7 @@ package android.media { field public static final java.lang.String KEY_MAX_INPUT_SIZE = "max-input-size"; field public static final java.lang.String KEY_MAX_WIDTH = "max-width"; field public static final java.lang.String KEY_MIME = "mime"; + field public static final java.lang.String KEY_PRIORITY = "priority"; field public static final java.lang.String KEY_PROFILE = "profile"; field public static final java.lang.String KEY_PUSH_BLANK_BUFFERS_ON_STOP = "push-blank-buffers-on-shutdown"; field public static final java.lang.String KEY_REPEAT_PREVIOUS_FRAME_AFTER = "repeat-previous-frame-after"; diff --git a/media/java/android/media/MediaFormat.java b/media/java/android/media/MediaFormat.java index 4356a3e5a0742..c44fbe6d65000 100644 --- a/media/java/android/media/MediaFormat.java +++ b/media/java/android/media/MediaFormat.java @@ -419,6 +419,25 @@ public final class MediaFormat { */ public static final String KEY_QUALITY = "quality"; + /** + * A key describing the desired codec priority. + *
+ * The associated value is an integer. Higher value means lower priority. + *
+ * Currently, only two levels are supported:
+ * 0: realtime priority - meaning that the codec shall support the given
+ * performance configuration (e.g. framerate) at realtime. This should
+ * only be used by media playback, capture, and possibly by realtime
+ * communication scenarios if best effort performance is not suitable.
+ * 1: non-realtime priority (best effort).
+ *
+ * This is a hint used at codec configuration and resource planning - to understand + * the realtime requirements of the application; however, due to the nature of + * media components, performance is not guaranteed. + * + */ + public static final String KEY_PRIORITY = "priority"; + /** * A key describing the desired profile to be used by an encoder. * Constants are declared in {@link MediaCodecInfo.CodecProfileLevel}.