| Index: media/mojo/interfaces/content_decryption_module.mojom
|
| diff --git a/media/mojo/interfaces/content_decryption_module.mojom b/media/mojo/interfaces/content_decryption_module.mojom
|
| index 9dbc8244ea99fbb44f461305727a1a45b961b955..0cb07271db4130961ad35b5b0b87d356ee0a236f 100644
|
| --- a/media/mojo/interfaces/content_decryption_module.mojom
|
| +++ b/media/mojo/interfaces/content_decryption_module.mojom
|
| @@ -19,6 +19,16 @@ enum CdmException {
|
| OUTPUT_ERROR
|
| };
|
|
|
| +// Transport layer of media::CdmKeyInformation::KeyStatus (see
|
| +// media/base/cdm_key_information.h). This is used for indicating the status
|
| +// of a specific key ID.
|
| +enum CdmKeyStatus {
|
| + USABLE,
|
| + INTERNAL_ERROR,
|
| + EXPIRED,
|
| + OUTPUT_NOT_ALLOWED
|
| +};
|
| +
|
| // Transport layer of media::CdmPromise (see media/base/cdm_promise.h).
|
| // - When |success| is true, the promise is resolved and all other fields should
|
| // be ignored.
|
| @@ -31,6 +41,15 @@ struct CdmPromiseResult {
|
| string error_message;
|
| };
|
|
|
| +// Transport layer of media::CdmKeyInformation (see
|
| +// media/base/cdm_key_information.h). It is used to specify a key_id and it's
|
| +// associated status.
|
| +struct CdmKeyInformation {
|
| + array<uint8> key_id;
|
| + CdmKeyStatus status;
|
| + uint32 system_code;
|
| +};
|
| +
|
| // An interface that represents a CDM in the Encrypted Media Extensions (EME)
|
| // spec (https://w3c.github.io/encrypted-media/). See media/base/media_keys.h.
|
| [Client=ContentDecryptionModuleClient]
|
| @@ -98,7 +117,8 @@ interface ContentDecryptionModuleClient {
|
| OnSessionError(string session_id, CdmException exception,
|
| uint32 system_code, string error_message);
|
|
|
| - OnSessionKeysChange(string session_id, bool has_additional_usable_key);
|
| + OnSessionKeysChange(string session_id, bool has_additional_usable_key,
|
| + array<CdmKeyInformation> key_information);
|
|
|
| OnSessionExpirationUpdate(string session_id, int64 new_expiry_time_usec);
|
| };
|
|
|