Loading api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -14992,6 +14992,7 @@ package android.media { field public static final java.lang.String PARAMETER_KEY_REQUEST_SYNC_FRAME = "request-sync"; field public static final java.lang.String PARAMETER_KEY_SUSPEND = "drop-input-frames"; field public static final java.lang.String PARAMETER_KEY_VIDEO_BITRATE = "video-bitrate"; field public static final int REASON_RECLAIMED = 1; // 0x1 field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1 field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2 } Loading @@ -15007,6 +15008,7 @@ package android.media { public static abstract class MediaCodec.Callback { ctor public MediaCodec.Callback(); method public void onCodecReleased(android.media.MediaCodec, int); method public abstract void onError(android.media.MediaCodec, android.media.MediaCodec.CodecException); method public abstract void onInputBufferAvailable(android.media.MediaCodec, int); method public abstract void onOutputBufferAvailable(android.media.MediaCodec, int, android.media.MediaCodec.BufferInfo); api/system-current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -16200,6 +16200,7 @@ package android.media { field public static final java.lang.String PARAMETER_KEY_REQUEST_SYNC_FRAME = "request-sync"; field public static final java.lang.String PARAMETER_KEY_SUSPEND = "drop-input-frames"; field public static final java.lang.String PARAMETER_KEY_VIDEO_BITRATE = "video-bitrate"; field public static final int REASON_RECLAIMED = 1; // 0x1 field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1 field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2 } Loading @@ -16215,6 +16216,7 @@ package android.media { public static abstract class MediaCodec.Callback { ctor public MediaCodec.Callback(); method public void onCodecReleased(android.media.MediaCodec, int); method public abstract void onError(android.media.MediaCodec, android.media.MediaCodec.CodecException); method public abstract void onInputBufferAvailable(android.media.MediaCodec, int); method public abstract void onOutputBufferAvailable(android.media.MediaCodec, int, android.media.MediaCodec.BufferInfo); media/java/android/media/MediaCodec.java +32 −0 Original line number Diff line number Diff line Loading @@ -325,6 +325,13 @@ final public class MediaCodec { */ public static final int BUFFER_FLAG_END_OF_STREAM = 4; /** * This indicates that the codec is released because the media resources used by the codec * have been reclaimed, for example by the resource manager. * This is used by the {@link Callback#onCodecReleased} callback. */ public static final int REASON_RECLAIMED = 1; private EventHandler mEventHandler; private Callback mCallback; Loading @@ -335,6 +342,7 @@ final public class MediaCodec { private static final int CB_OUTPUT_AVAILABLE = 2; private static final int CB_ERROR = 3; private static final int CB_OUTPUT_FORMAT_CHANGE = 4; private static final int CB_CODEC_RELEASED = 5; private class EventHandler extends Handler { private MediaCodec mCodec; Loading Loading @@ -405,6 +413,13 @@ final public class MediaCodec { break; } case CB_CODEC_RELEASED: { int reason = msg.arg2; mCallback.onCodecReleased(mCodec, reason); break; } default: { break; Loading Loading @@ -720,6 +735,7 @@ final public class MediaCodec { } /* Must be in sync with android_media_MediaCodec.cpp */ private final static int ACTION_FATAL = 0; private final static int ACTION_TRANSIENT = 1; private final static int ACTION_RECOVERABLE = 2; Loading Loading @@ -1654,6 +1670,22 @@ final public class MediaCodec { * @param format The new output format. */ public abstract void onOutputFormatChanged(MediaCodec codec, MediaFormat format); /** * Called when the underlying codec component has been released. * <p> * At this point the MediaCodec must be released, as it has moved to terminal * Uninitialized state. * * @param codec The MediaCodec object. * @param reason The reason of the release. */ public void onCodecReleased(MediaCodec codec, int reason) { int errorCode = -1; String detailMessage = "resources reclaimed"; onError(codec, new CodecException(errorCode, CodecException.ACTION_FATAL, detailMessage)); } } private void postEventFromNative( Loading media/jni/android_media_MediaCodec.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -669,6 +669,14 @@ void JMediaCodec::handleCallback(const sp<AMessage> &msg) { break; } case MediaCodec::CB_CODEC_RELEASED: { if (!msg->findInt32("reason", &arg2)) { arg2 = MediaCodec::REASON_UNKNOWN; } break; } default: TRESPASS(); } Loading Loading
api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -14992,6 +14992,7 @@ package android.media { field public static final java.lang.String PARAMETER_KEY_REQUEST_SYNC_FRAME = "request-sync"; field public static final java.lang.String PARAMETER_KEY_SUSPEND = "drop-input-frames"; field public static final java.lang.String PARAMETER_KEY_VIDEO_BITRATE = "video-bitrate"; field public static final int REASON_RECLAIMED = 1; // 0x1 field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1 field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2 } Loading @@ -15007,6 +15008,7 @@ package android.media { public static abstract class MediaCodec.Callback { ctor public MediaCodec.Callback(); method public void onCodecReleased(android.media.MediaCodec, int); method public abstract void onError(android.media.MediaCodec, android.media.MediaCodec.CodecException); method public abstract void onInputBufferAvailable(android.media.MediaCodec, int); method public abstract void onOutputBufferAvailable(android.media.MediaCodec, int, android.media.MediaCodec.BufferInfo);
api/system-current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -16200,6 +16200,7 @@ package android.media { field public static final java.lang.String PARAMETER_KEY_REQUEST_SYNC_FRAME = "request-sync"; field public static final java.lang.String PARAMETER_KEY_SUSPEND = "drop-input-frames"; field public static final java.lang.String PARAMETER_KEY_VIDEO_BITRATE = "video-bitrate"; field public static final int REASON_RECLAIMED = 1; // 0x1 field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1 field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2 } Loading @@ -16215,6 +16216,7 @@ package android.media { public static abstract class MediaCodec.Callback { ctor public MediaCodec.Callback(); method public void onCodecReleased(android.media.MediaCodec, int); method public abstract void onError(android.media.MediaCodec, android.media.MediaCodec.CodecException); method public abstract void onInputBufferAvailable(android.media.MediaCodec, int); method public abstract void onOutputBufferAvailable(android.media.MediaCodec, int, android.media.MediaCodec.BufferInfo);
media/java/android/media/MediaCodec.java +32 −0 Original line number Diff line number Diff line Loading @@ -325,6 +325,13 @@ final public class MediaCodec { */ public static final int BUFFER_FLAG_END_OF_STREAM = 4; /** * This indicates that the codec is released because the media resources used by the codec * have been reclaimed, for example by the resource manager. * This is used by the {@link Callback#onCodecReleased} callback. */ public static final int REASON_RECLAIMED = 1; private EventHandler mEventHandler; private Callback mCallback; Loading @@ -335,6 +342,7 @@ final public class MediaCodec { private static final int CB_OUTPUT_AVAILABLE = 2; private static final int CB_ERROR = 3; private static final int CB_OUTPUT_FORMAT_CHANGE = 4; private static final int CB_CODEC_RELEASED = 5; private class EventHandler extends Handler { private MediaCodec mCodec; Loading Loading @@ -405,6 +413,13 @@ final public class MediaCodec { break; } case CB_CODEC_RELEASED: { int reason = msg.arg2; mCallback.onCodecReleased(mCodec, reason); break; } default: { break; Loading Loading @@ -720,6 +735,7 @@ final public class MediaCodec { } /* Must be in sync with android_media_MediaCodec.cpp */ private final static int ACTION_FATAL = 0; private final static int ACTION_TRANSIENT = 1; private final static int ACTION_RECOVERABLE = 2; Loading Loading @@ -1654,6 +1670,22 @@ final public class MediaCodec { * @param format The new output format. */ public abstract void onOutputFormatChanged(MediaCodec codec, MediaFormat format); /** * Called when the underlying codec component has been released. * <p> * At this point the MediaCodec must be released, as it has moved to terminal * Uninitialized state. * * @param codec The MediaCodec object. * @param reason The reason of the release. */ public void onCodecReleased(MediaCodec codec, int reason) { int errorCode = -1; String detailMessage = "resources reclaimed"; onError(codec, new CodecException(errorCode, CodecException.ACTION_FATAL, detailMessage)); } } private void postEventFromNative( Loading
media/jni/android_media_MediaCodec.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -669,6 +669,14 @@ void JMediaCodec::handleCallback(const sp<AMessage> &msg) { break; } case MediaCodec::CB_CODEC_RELEASED: { if (!msg->findInt32("reason", &arg2)) { arg2 = MediaCodec::REASON_UNKNOWN; } break; } default: TRESPASS(); } Loading