MediaDrm: add ERROR_PROVISIONING_REQUEST_REJECTED

Native equivalents:
+-------------+-----------------------------------------------+
| component   | error code                                    |
+-------------+-----------------------------------------------+
| jni         | JERROR_DRM_PROVISIONING_REQUEST_REJECTED      |
| libmediadrm | ERROR_DRM_PROVISIONING_REQUEST_REJECTED       |
| drm hal     | ::V1_4::Status::PROVISIONING_REQUEST_REJECTED |
+-------------+-----------------------------------------------+

Bug: 180579631
Test: MediaDrmTest#testBadProvisioningRequest
Change-Id: I93da60177333dcedfb4c0a317d92fe002b7f14db
This commit is contained in:
Robert Shih
2021-03-03 03:35:12 -08:00
parent 755168f912
commit a37ae8e5ba
4 changed files with 30 additions and 18 deletions

View File

@@ -21870,16 +21870,17 @@ package android.media {
field public static final int ERROR_PROVISIONING_CERTIFICATE = 24; // 0x18
field public static final int ERROR_PROVISIONING_CONFIG = 25; // 0x19
field public static final int ERROR_PROVISIONING_PARSE = 26; // 0x1a
field public static final int ERROR_PROVISIONING_RETRY = 27; // 0x1b
field public static final int ERROR_PROVISIONING_REQUEST_REJECTED = 27; // 0x1b
field public static final int ERROR_PROVISIONING_RETRY = 28; // 0x1c
field public static final int ERROR_RESOURCE_BUSY = 3; // 0x3
field public static final int ERROR_RESOURCE_CONTENTION = 28; // 0x1c
field public static final int ERROR_SECURE_STOP_RELEASE = 29; // 0x1d
field public static final int ERROR_RESOURCE_CONTENTION = 29; // 0x1d
field public static final int ERROR_SECURE_STOP_RELEASE = 30; // 0x1e
field public static final int ERROR_SESSION_NOT_OPENED = 5; // 0x5
field public static final int ERROR_STORAGE_READ = 30; // 0x1e
field public static final int ERROR_STORAGE_WRITE = 31; // 0x1f
field public static final int ERROR_STORAGE_READ = 31; // 0x1f
field public static final int ERROR_STORAGE_WRITE = 32; // 0x20
field public static final int ERROR_UNKNOWN = 0; // 0x0
field public static final int ERROR_UNSUPPORTED_OPERATION = 6; // 0x6
field public static final int ERROR_ZERO_SUBSAMPLES = 32; // 0x20
field public static final int ERROR_ZERO_SUBSAMPLES = 33; // 0x21
}
@Deprecated @IntDef({android.media.MediaDrm.HDCP_LEVEL_UNKNOWN, android.media.MediaDrm.HDCP_NONE, android.media.MediaDrm.HDCP_V1, android.media.MediaDrm.HDCP_V2, android.media.MediaDrm.HDCP_V2_1, android.media.MediaDrm.HDCP_V2_2, android.media.MediaDrm.HDCP_V2_3, android.media.MediaDrm.HDCP_NO_DIGITAL_OUTPUT}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaDrm.HdcpLevel {

View File

@@ -557,13 +557,21 @@ public final class MediaDrm implements AutoCloseable {
*/
public static final int ERROR_PROVISIONING_PARSE = 26;
/**
* The provisioning server detected an error in the provisioning
* request.
* <p>
* Check for errors on the provisioning server.
*/
public static final int ERROR_PROVISIONING_REQUEST_REJECTED = 27;
/**
* Provisioning failed in a way that is likely to succeed on a
* subsequent attempt.
* <p>
* The app should retry the operation.
*/
public static final int ERROR_PROVISIONING_RETRY = 27;
public static final int ERROR_PROVISIONING_RETRY = 28;
/**
* This indicates that apps using MediaDrm sessions are
@@ -572,7 +580,7 @@ public final class MediaDrm implements AutoCloseable {
* <p>
* The app should retry the operation later.
*/
public static final int ERROR_RESOURCE_CONTENTION = 28;
public static final int ERROR_RESOURCE_CONTENTION = 29;
/**
* Failed to generate a secure stop request because a field in the
@@ -581,7 +589,7 @@ public final class MediaDrm implements AutoCloseable {
* The secure stop can't be released on the server, but the app may
* remove it explicitly using {@link MediaDrm#removeSecureStop}.
*/
public static final int ERROR_SECURE_STOP_RELEASE = 29;
public static final int ERROR_SECURE_STOP_RELEASE = 30;
/**
* The plugin was unable to read data from the filesystem.
@@ -589,7 +597,7 @@ public final class MediaDrm implements AutoCloseable {
* Please see the general error handling strategy for unexpected errors
* described in {@link ErrorCodes}.
*/
public static final int ERROR_STORAGE_READ = 30;
public static final int ERROR_STORAGE_READ = 31;
/**
* The plugin was unable to write data to the filesystem.
@@ -597,7 +605,7 @@ public final class MediaDrm implements AutoCloseable {
* Please see the general error handling strategy for unexpected errors
* described in {@link ErrorCodes}.
*/
public static final int ERROR_STORAGE_WRITE = 31;
public static final int ERROR_STORAGE_WRITE = 32;
/**
* {@link MediaCodec#queueSecureInputBuffer} called with 0 subsamples.
@@ -605,7 +613,7 @@ public final class MediaDrm implements AutoCloseable {
* Check the {@link MediaCodec.CryptoInfo} object passed to {@link
* MediaCodec#queueSecureInputBuffer}.
*/
public static final int ERROR_ZERO_SUBSAMPLES = 32;
public static final int ERROR_ZERO_SUBSAMPLES = 33;
}
@@ -637,6 +645,7 @@ public final class MediaDrm implements AutoCloseable {
ErrorCodes.ERROR_PROVISIONING_CERTIFICATE,
ErrorCodes.ERROR_PROVISIONING_CONFIG,
ErrorCodes.ERROR_PROVISIONING_PARSE,
ErrorCodes.ERROR_PROVISIONING_REQUEST_REJECTED,
ErrorCodes.ERROR_PROVISIONING_RETRY,
ErrorCodes.ERROR_SECURE_STOP_RELEASE,
ErrorCodes.ERROR_STORAGE_READ,

View File

@@ -376,6 +376,7 @@ jint MediaErrorToJavaError(status_t err) {
STATUS_CASE(ERROR_DRM_PROVISIONING_CERTIFICATE);
STATUS_CASE(ERROR_DRM_PROVISIONING_CONFIG);
STATUS_CASE(ERROR_DRM_PROVISIONING_PARSE);
STATUS_CASE(ERROR_DRM_PROVISIONING_REQUEST_REJECTED);
STATUS_CASE(ERROR_DRM_PROVISIONING_RETRY);
STATUS_CASE(ERROR_DRM_RESOURCE_CONTENTION);
STATUS_CASE(ERROR_DRM_SECURE_STOP_RELEASE);

View File

@@ -58,12 +58,13 @@ enum {
JERROR_DRM_PROVISIONING_CERTIFICATE = 24,
JERROR_DRM_PROVISIONING_CONFIG = 25,
JERROR_DRM_PROVISIONING_PARSE = 26,
JERROR_DRM_PROVISIONING_RETRY = 27,
JERROR_DRM_RESOURCE_CONTENTION = 28,
JERROR_DRM_SECURE_STOP_RELEASE = 29,
JERROR_DRM_STORAGE_READ = 30,
JERROR_DRM_STORAGE_WRITE = 31,
JERROR_DRM_ZERO_SUBSAMPLES = 32,
JERROR_DRM_PROVISIONING_REQUEST_REJECTED = 27,
JERROR_DRM_PROVISIONING_RETRY = 28,
JERROR_DRM_RESOURCE_CONTENTION = 29,
JERROR_DRM_SECURE_STOP_RELEASE = 30,
JERROR_DRM_STORAGE_READ = 31,
JERROR_DRM_STORAGE_WRITE = 32,
JERROR_DRM_ZERO_SUBSAMPLES = 33,
};
struct ListenerArgs {