Loading api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -20083,6 +20083,7 @@ package android.media { field public static final deprecated int COLOR_QCOM_FormatYUV420SemiPlanar = 2141391872; // 0x7fa30c00 field public static final deprecated int COLOR_TI_FormatYUV420PackedSemiPlanar = 2130706688; // 0x7f000100 field public static final java.lang.String FEATURE_AdaptivePlayback = "adaptive-playback"; field public static final java.lang.String FEATURE_IntraRefresh = "intra-refresh"; field public static final java.lang.String FEATURE_SecurePlayback = "secure-playback"; field public static final java.lang.String FEATURE_TunneledPlayback = "tunneled-playback"; field public int[] colorFormats; Loading Loading @@ -20471,6 +20472,7 @@ package android.media { field public static final java.lang.String KEY_FLAC_COMPRESSION_LEVEL = "flac-compression-level"; field public static final java.lang.String KEY_FRAME_RATE = "frame-rate"; field public static final java.lang.String KEY_HEIGHT = "height"; field public static final java.lang.String KEY_INTRA_REFRESH_PERIOD = "intra-refresh-period"; field public static final java.lang.String KEY_IS_ADTS = "is-adts"; field public static final java.lang.String KEY_IS_AUTOSELECT = "is-autoselect"; field public static final java.lang.String KEY_IS_DEFAULT = "is-default"; api/system-current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -21433,6 +21433,7 @@ package android.media { field public static final deprecated int COLOR_QCOM_FormatYUV420SemiPlanar = 2141391872; // 0x7fa30c00 field public static final deprecated int COLOR_TI_FormatYUV420PackedSemiPlanar = 2130706688; // 0x7f000100 field public static final java.lang.String FEATURE_AdaptivePlayback = "adaptive-playback"; field public static final java.lang.String FEATURE_IntraRefresh = "intra-refresh"; field public static final java.lang.String FEATURE_SecurePlayback = "secure-playback"; field public static final java.lang.String FEATURE_TunneledPlayback = "tunneled-playback"; field public int[] colorFormats; Loading Loading @@ -21821,6 +21822,7 @@ package android.media { field public static final java.lang.String KEY_FLAC_COMPRESSION_LEVEL = "flac-compression-level"; field public static final java.lang.String KEY_FRAME_RATE = "frame-rate"; field public static final java.lang.String KEY_HEIGHT = "height"; field public static final java.lang.String KEY_INTRA_REFRESH_PERIOD = "intra-refresh-period"; field public static final java.lang.String KEY_IS_ADTS = "is-adts"; field public static final java.lang.String KEY_IS_AUTOSELECT = "is-autoselect"; field public static final java.lang.String KEY_IS_DEFAULT = "is-default"; api/test-current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -20091,6 +20091,7 @@ package android.media { field public static final deprecated int COLOR_QCOM_FormatYUV420SemiPlanar = 2141391872; // 0x7fa30c00 field public static final deprecated int COLOR_TI_FormatYUV420PackedSemiPlanar = 2130706688; // 0x7f000100 field public static final java.lang.String FEATURE_AdaptivePlayback = "adaptive-playback"; field public static final java.lang.String FEATURE_IntraRefresh = "intra-refresh"; field public static final java.lang.String FEATURE_SecurePlayback = "secure-playback"; field public static final java.lang.String FEATURE_TunneledPlayback = "tunneled-playback"; field public int[] colorFormats; Loading Loading @@ -20479,6 +20480,7 @@ package android.media { field public static final java.lang.String KEY_FLAC_COMPRESSION_LEVEL = "flac-compression-level"; field public static final java.lang.String KEY_FRAME_RATE = "frame-rate"; field public static final java.lang.String KEY_HEIGHT = "height"; field public static final java.lang.String KEY_INTRA_REFRESH_PERIOD = "intra-refresh-period"; field public static final java.lang.String KEY_IS_ADTS = "is-adts"; field public static final java.lang.String KEY_IS_AUTOSELECT = "is-autoselect"; field public static final java.lang.String KEY_IS_DEFAULT = "is-default"; media/java/android/media/MediaCodecInfo.java +10 −1 Original line number Diff line number Diff line Loading @@ -459,6 +459,11 @@ public final class MediaCodecInfo { */ public static final String FEATURE_TunneledPlayback = "tunneled-playback"; /** * <b>video encoder only</b>: codec supports intra refresh. */ public static final String FEATURE_IntraRefresh = "intra-refresh"; /** * Query codec feature capabilities. * <p> Loading Loading @@ -486,6 +491,10 @@ public final class MediaCodecInfo { new Feature(FEATURE_TunneledPlayback, (1 << 2), false), }; private static final Feature[] encoderFeatures = { new Feature(FEATURE_IntraRefresh, (1 << 0), false), }; /** @hide */ public String[] validFeatures() { Feature[] features = getValidFeatures(); Loading @@ -500,7 +509,7 @@ public final class MediaCodecInfo { if (!isEncoder()) { return decoderFeatures; } return new Feature[] {}; return encoderFeatures; } private boolean checkFeature(String name, int flags) { Loading media/java/android/media/MediaFormat.java +16 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import java.util.Map; * <tr><td>{@link #KEY_FRAME_RATE}</td><td>Integer or Float</td><td><b>encoder-only</b></td></tr> * <tr><td>{@link #KEY_CAPTURE_RATE}</td><td>Integer</td><td></td></tr> * <tr><td>{@link #KEY_I_FRAME_INTERVAL}</td><td>Integer</td><td><b>encoder-only</b></td></tr> * <tr><td>{@link #KEY_INTRA_REFRESH_PERIOD}</td><td>Integer</td><td><b>encoder-only</b>, optional</td></tr> * <tr><td>{@link #KEY_MAX_WIDTH}</td><td>Integer</td><td><b>decoder-only</b>, optional, max-resolution width</td></tr> * <tr><td>{@link #KEY_MAX_HEIGHT}</td><td>Integer</td><td><b>decoder-only</b>, optional, max-resolution height</td></tr> * <tr><td>{@link #KEY_REPEAT_PREVIOUS_FRAME_AFTER}</td><td>Long</td><td><b>video encoder in surface-mode only</b></td></tr> Loading Loading @@ -217,6 +218,20 @@ public final class MediaFormat { */ public static final String KEY_I_FRAME_INTERVAL = "i-frame-interval"; /** * An optional key describing the period of intra refresh in frames. This is an * optional parameter that applies only to video encoders. If encoder supports it * ({@link MediaCodecInfo.CodecCapabilities#FEATURE_IntraRefresh}), the whole * frame is completely refreshed after the specified period. Also for each frame, * a fix subset of macroblocks must be intra coded which leads to more constant bitrate * than inserting a key frame. This key is recommended for video streaming applications * as it provides low-delay and good error-resilience. This key is ignored if the * video encoder does not support the intra refresh feature. Use the output format to * verify that this feature was enabled. * The associated value is an integer. */ public static final String KEY_INTRA_REFRESH_PERIOD = "intra-refresh-period"; /** * A key describing the temporal layering schema. This is an optional parameter * that applies only to video encoders. Use {@link MediaCodec#getInputFormat} Loading Loading
api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -20083,6 +20083,7 @@ package android.media { field public static final deprecated int COLOR_QCOM_FormatYUV420SemiPlanar = 2141391872; // 0x7fa30c00 field public static final deprecated int COLOR_TI_FormatYUV420PackedSemiPlanar = 2130706688; // 0x7f000100 field public static final java.lang.String FEATURE_AdaptivePlayback = "adaptive-playback"; field public static final java.lang.String FEATURE_IntraRefresh = "intra-refresh"; field public static final java.lang.String FEATURE_SecurePlayback = "secure-playback"; field public static final java.lang.String FEATURE_TunneledPlayback = "tunneled-playback"; field public int[] colorFormats; Loading Loading @@ -20471,6 +20472,7 @@ package android.media { field public static final java.lang.String KEY_FLAC_COMPRESSION_LEVEL = "flac-compression-level"; field public static final java.lang.String KEY_FRAME_RATE = "frame-rate"; field public static final java.lang.String KEY_HEIGHT = "height"; field public static final java.lang.String KEY_INTRA_REFRESH_PERIOD = "intra-refresh-period"; field public static final java.lang.String KEY_IS_ADTS = "is-adts"; field public static final java.lang.String KEY_IS_AUTOSELECT = "is-autoselect"; field public static final java.lang.String KEY_IS_DEFAULT = "is-default";
api/system-current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -21433,6 +21433,7 @@ package android.media { field public static final deprecated int COLOR_QCOM_FormatYUV420SemiPlanar = 2141391872; // 0x7fa30c00 field public static final deprecated int COLOR_TI_FormatYUV420PackedSemiPlanar = 2130706688; // 0x7f000100 field public static final java.lang.String FEATURE_AdaptivePlayback = "adaptive-playback"; field public static final java.lang.String FEATURE_IntraRefresh = "intra-refresh"; field public static final java.lang.String FEATURE_SecurePlayback = "secure-playback"; field public static final java.lang.String FEATURE_TunneledPlayback = "tunneled-playback"; field public int[] colorFormats; Loading Loading @@ -21821,6 +21822,7 @@ package android.media { field public static final java.lang.String KEY_FLAC_COMPRESSION_LEVEL = "flac-compression-level"; field public static final java.lang.String KEY_FRAME_RATE = "frame-rate"; field public static final java.lang.String KEY_HEIGHT = "height"; field public static final java.lang.String KEY_INTRA_REFRESH_PERIOD = "intra-refresh-period"; field public static final java.lang.String KEY_IS_ADTS = "is-adts"; field public static final java.lang.String KEY_IS_AUTOSELECT = "is-autoselect"; field public static final java.lang.String KEY_IS_DEFAULT = "is-default";
api/test-current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -20091,6 +20091,7 @@ package android.media { field public static final deprecated int COLOR_QCOM_FormatYUV420SemiPlanar = 2141391872; // 0x7fa30c00 field public static final deprecated int COLOR_TI_FormatYUV420PackedSemiPlanar = 2130706688; // 0x7f000100 field public static final java.lang.String FEATURE_AdaptivePlayback = "adaptive-playback"; field public static final java.lang.String FEATURE_IntraRefresh = "intra-refresh"; field public static final java.lang.String FEATURE_SecurePlayback = "secure-playback"; field public static final java.lang.String FEATURE_TunneledPlayback = "tunneled-playback"; field public int[] colorFormats; Loading Loading @@ -20479,6 +20480,7 @@ package android.media { field public static final java.lang.String KEY_FLAC_COMPRESSION_LEVEL = "flac-compression-level"; field public static final java.lang.String KEY_FRAME_RATE = "frame-rate"; field public static final java.lang.String KEY_HEIGHT = "height"; field public static final java.lang.String KEY_INTRA_REFRESH_PERIOD = "intra-refresh-period"; field public static final java.lang.String KEY_IS_ADTS = "is-adts"; field public static final java.lang.String KEY_IS_AUTOSELECT = "is-autoselect"; field public static final java.lang.String KEY_IS_DEFAULT = "is-default";
media/java/android/media/MediaCodecInfo.java +10 −1 Original line number Diff line number Diff line Loading @@ -459,6 +459,11 @@ public final class MediaCodecInfo { */ public static final String FEATURE_TunneledPlayback = "tunneled-playback"; /** * <b>video encoder only</b>: codec supports intra refresh. */ public static final String FEATURE_IntraRefresh = "intra-refresh"; /** * Query codec feature capabilities. * <p> Loading Loading @@ -486,6 +491,10 @@ public final class MediaCodecInfo { new Feature(FEATURE_TunneledPlayback, (1 << 2), false), }; private static final Feature[] encoderFeatures = { new Feature(FEATURE_IntraRefresh, (1 << 0), false), }; /** @hide */ public String[] validFeatures() { Feature[] features = getValidFeatures(); Loading @@ -500,7 +509,7 @@ public final class MediaCodecInfo { if (!isEncoder()) { return decoderFeatures; } return new Feature[] {}; return encoderFeatures; } private boolean checkFeature(String name, int flags) { Loading
media/java/android/media/MediaFormat.java +16 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import java.util.Map; * <tr><td>{@link #KEY_FRAME_RATE}</td><td>Integer or Float</td><td><b>encoder-only</b></td></tr> * <tr><td>{@link #KEY_CAPTURE_RATE}</td><td>Integer</td><td></td></tr> * <tr><td>{@link #KEY_I_FRAME_INTERVAL}</td><td>Integer</td><td><b>encoder-only</b></td></tr> * <tr><td>{@link #KEY_INTRA_REFRESH_PERIOD}</td><td>Integer</td><td><b>encoder-only</b>, optional</td></tr> * <tr><td>{@link #KEY_MAX_WIDTH}</td><td>Integer</td><td><b>decoder-only</b>, optional, max-resolution width</td></tr> * <tr><td>{@link #KEY_MAX_HEIGHT}</td><td>Integer</td><td><b>decoder-only</b>, optional, max-resolution height</td></tr> * <tr><td>{@link #KEY_REPEAT_PREVIOUS_FRAME_AFTER}</td><td>Long</td><td><b>video encoder in surface-mode only</b></td></tr> Loading Loading @@ -217,6 +218,20 @@ public final class MediaFormat { */ public static final String KEY_I_FRAME_INTERVAL = "i-frame-interval"; /** * An optional key describing the period of intra refresh in frames. This is an * optional parameter that applies only to video encoders. If encoder supports it * ({@link MediaCodecInfo.CodecCapabilities#FEATURE_IntraRefresh}), the whole * frame is completely refreshed after the specified period. Also for each frame, * a fix subset of macroblocks must be intra coded which leads to more constant bitrate * than inserting a key frame. This key is recommended for video streaming applications * as it provides low-delay and good error-resilience. This key is ignored if the * video encoder does not support the intra refresh feature. Use the output format to * verify that this feature was enabled. * The associated value is an integer. */ public static final String KEY_INTRA_REFRESH_PERIOD = "intra-refresh-period"; /** * A key describing the temporal layering schema. This is an optional parameter * that applies only to video encoders. Use {@link MediaCodec#getInputFormat} Loading