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

Commit 0e08a225 authored by Ronghua Wu's avatar Ronghua Wu Committed by Android (Google) Code Review
Browse files

Merge "media: Add reason to CodecException."

parents 4823dee9 4fd31a2a
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -15179,8 +15179,11 @@ package android.media {
  public static final class MediaCodec.CodecException extends java.lang.IllegalStateException {
    method public java.lang.String getDiagnosticInfo();
    method public int getReason();
    method public boolean isRecoverable();
    method public boolean isTransient();
    field public static final int REASON_HARDWARE = 0; // 0x0
    field public static final int REASON_RECLAIMED = 1; // 0x1
  }
  public static final class MediaCodec.CryptoException extends java.lang.RuntimeException {
+3 −0
Original line number Diff line number Diff line
@@ -16391,8 +16391,11 @@ package android.media {
  public static final class MediaCodec.CodecException extends java.lang.IllegalStateException {
    method public java.lang.String getDiagnosticInfo();
    method public int getReason();
    method public boolean isRecoverable();
    method public boolean isTransient();
    field public static final int REASON_HARDWARE = 0; // 0x0
    field public static final int REASON_RECLAIMED = 1; // 0x1
  }
  public static final class MediaCodec.CryptoException extends java.lang.RuntimeException {
+24 −0
Original line number Diff line number Diff line
@@ -672,6 +672,7 @@ final public class MediaCodec {
        CodecException(int errorCode, int actionCode, String detailMessage) {
            super(detailMessage);
            mErrorCode = errorCode;
            mReason = REASON_HARDWARE;
            mActionCode = actionCode;

            // TODO get this from codec
@@ -698,6 +699,15 @@ final public class MediaCodec {
            return mActionCode == ACTION_RECOVERABLE;
        }

        /**
         * Retrieve the reason associated with a CodecException.
         * The reason could be one of {@link #REASON_HARDWARE} or {@link #REASON_RECLAIMED}.
         *
         */
        public int getReason() {
            return mReason;
        }

        /**
         * Retrieve the error code associated with a CodecException.
         * This is opaque diagnostic information and may depend on
@@ -719,12 +729,26 @@ final public class MediaCodec {
            return mDiagnosticInfo;
        }

        /**
         * This indicates the exception is caused by the hardware.
         */
        public static final int REASON_HARDWARE = 0;

        /**
         * This indicates the exception is because the resource manager reclaimed
         * the media resource used by the codec.
         * <p>
         * With this exception, the codec must be released, as it has moved to terminal state.
         */
        public static final int REASON_RECLAIMED = 1;

        /* Must be in sync with android_media_MediaCodec.cpp */
        private final static int ACTION_TRANSIENT = 1;
        private final static int ACTION_RECOVERABLE = 2;

        private final String mDiagnosticInfo;
        private final int mErrorCode;
        private final int mReason;
        private final int mActionCode;
    }