Loading api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -15401,6 +15401,7 @@ package android.media { field public static final int ERROR_KEY_EXPIRED = 2; // 0x2 field public static final int ERROR_NO_KEY = 1; // 0x1 field public static final int ERROR_RESOURCE_BUSY = 3; // 0x3 field public static final int ERROR_SESSION_NOT_OPENED = 5; // 0x5 } public static final class MediaCodec.CryptoInfo { api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -16664,6 +16664,7 @@ package android.media { field public static final int ERROR_KEY_EXPIRED = 2; // 0x2 field public static final int ERROR_NO_KEY = 1; // 0x1 field public static final int ERROR_RESOURCE_BUSY = 3; // 0x3 field public static final int ERROR_SESSION_NOT_OPENED = 5; // 0x5 } public static final class MediaCodec.CryptoInfo { media/java/android/media/MediaCodec.java +9 −0 Original line number Diff line number Diff line Loading @@ -2029,12 +2029,21 @@ final public class MediaCodec { */ public static final int ERROR_INSUFFICIENT_OUTPUT_PROTECTION = 4; /** * This indicates that decryption was attempted on a session that is * not opened, which could be due to a failure to open the session, * closing the session prematurely, or the session being reclaimed * by the resource manager. */ public static final int ERROR_SESSION_NOT_OPENED = 5; /** @hide */ @IntDef({ ERROR_NO_KEY, ERROR_KEY_EXPIRED, ERROR_RESOURCE_BUSY, ERROR_INSUFFICIENT_OUTPUT_PROTECTION, ERROR_SESSION_NOT_OPENED, }) @Retention(RetentionPolicy.SOURCE) public @interface CryptoErrorCode {} Loading media/jni/android_media_MediaCodec.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ static struct CryptoErrorCodes { jint cryptoErrorKeyExpired; jint cryptoErrorResourceBusy; jint cryptoErrorInsufficientOutputProtection; jint cryptoErrorSessionNotOpened; } gCryptoErrorCodes; static struct CodecActionCodes { Loading Loading @@ -843,6 +844,9 @@ static void throwCryptoException(JNIEnv *env, status_t err, const char *msg) { case ERROR_DRM_INSUFFICIENT_OUTPUT_PROTECTION: err = gCryptoErrorCodes.cryptoErrorInsufficientOutputProtection; break; case ERROR_DRM_SESSION_NOT_OPENED: err = gCryptoErrorCodes.cryptoErrorSessionNotOpened; break; default: /* Other negative DRM error codes go out as is. */ break; } Loading Loading @@ -1689,6 +1693,11 @@ static void android_media_MediaCodec_native_init(JNIEnv *env) { gCryptoErrorCodes.cryptoErrorInsufficientOutputProtection = env->GetStaticIntField(clazz.get(), field); field = env->GetStaticFieldID(clazz.get(), "ERROR_SESSION_NOT_OPENED", "I"); CHECK(field != NULL); gCryptoErrorCodes.cryptoErrorSessionNotOpened = env->GetStaticIntField(clazz.get(), field); clazz.reset(env->FindClass("android/media/MediaCodec$CodecException")); CHECK(clazz.get() != NULL); field = env->GetStaticFieldID(clazz.get(), "ACTION_TRANSIENT", "I"); Loading Loading
api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -15401,6 +15401,7 @@ package android.media { field public static final int ERROR_KEY_EXPIRED = 2; // 0x2 field public static final int ERROR_NO_KEY = 1; // 0x1 field public static final int ERROR_RESOURCE_BUSY = 3; // 0x3 field public static final int ERROR_SESSION_NOT_OPENED = 5; // 0x5 } public static final class MediaCodec.CryptoInfo {
api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -16664,6 +16664,7 @@ package android.media { field public static final int ERROR_KEY_EXPIRED = 2; // 0x2 field public static final int ERROR_NO_KEY = 1; // 0x1 field public static final int ERROR_RESOURCE_BUSY = 3; // 0x3 field public static final int ERROR_SESSION_NOT_OPENED = 5; // 0x5 } public static final class MediaCodec.CryptoInfo {
media/java/android/media/MediaCodec.java +9 −0 Original line number Diff line number Diff line Loading @@ -2029,12 +2029,21 @@ final public class MediaCodec { */ public static final int ERROR_INSUFFICIENT_OUTPUT_PROTECTION = 4; /** * This indicates that decryption was attempted on a session that is * not opened, which could be due to a failure to open the session, * closing the session prematurely, or the session being reclaimed * by the resource manager. */ public static final int ERROR_SESSION_NOT_OPENED = 5; /** @hide */ @IntDef({ ERROR_NO_KEY, ERROR_KEY_EXPIRED, ERROR_RESOURCE_BUSY, ERROR_INSUFFICIENT_OUTPUT_PROTECTION, ERROR_SESSION_NOT_OPENED, }) @Retention(RetentionPolicy.SOURCE) public @interface CryptoErrorCode {} Loading
media/jni/android_media_MediaCodec.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ static struct CryptoErrorCodes { jint cryptoErrorKeyExpired; jint cryptoErrorResourceBusy; jint cryptoErrorInsufficientOutputProtection; jint cryptoErrorSessionNotOpened; } gCryptoErrorCodes; static struct CodecActionCodes { Loading Loading @@ -843,6 +844,9 @@ static void throwCryptoException(JNIEnv *env, status_t err, const char *msg) { case ERROR_DRM_INSUFFICIENT_OUTPUT_PROTECTION: err = gCryptoErrorCodes.cryptoErrorInsufficientOutputProtection; break; case ERROR_DRM_SESSION_NOT_OPENED: err = gCryptoErrorCodes.cryptoErrorSessionNotOpened; break; default: /* Other negative DRM error codes go out as is. */ break; } Loading Loading @@ -1689,6 +1693,11 @@ static void android_media_MediaCodec_native_init(JNIEnv *env) { gCryptoErrorCodes.cryptoErrorInsufficientOutputProtection = env->GetStaticIntField(clazz.get(), field); field = env->GetStaticFieldID(clazz.get(), "ERROR_SESSION_NOT_OPENED", "I"); CHECK(field != NULL); gCryptoErrorCodes.cryptoErrorSessionNotOpened = env->GetStaticIntField(clazz.get(), field); clazz.reset(env->FindClass("android/media/MediaCodec$CodecException")); CHECK(clazz.get() != NULL); field = env->GetStaticFieldID(clazz.get(), "ACTION_TRANSIENT", "I"); Loading