1# native_drm_common.h 2 3 4## 概述 5 6定义DRM数据类型。 7 8**库:** libnative_drm.z.so 9 10**系统能力:** SystemCapability.Multimedia.Drm.Core 11 12**起始版本:** 11 13 14**相关模块:**[Drm](_drm.md) 15 16 17## 汇总 18 19 20### 结构体 21 22| 名称 | 描述 | 23| -------- | -------- | 24| struct [DRM_MediaKeyRequestInfo](_d_r_m___media_key_request_info.md) | 媒体密钥请求信息。 | 25| struct [DRM_MediaKeyRequest](_d_r_m___media_key_request.md) | 媒体密钥请求。 | 26| struct [DRM_Statistics](_d_r_m___statistics.md) | MediaKeySystem的度量信息。 | 27| struct [DRM_OfflineMediakeyIdArray](_d_r_m___offline_mediakey_id_array.md) | 离线媒体密钥ID数组。 | 28| struct [DRM_KeysInfo](_d_r_m___keys_info.md) | 媒体密钥信息。 | 29| struct [DRM_MediaKeyStatus](_d_r_m___media_key_status.md) | 媒体密钥状态。 | 30| struct [DRM_PsshInfo](_d_r_m___pssh_info.md) | uuid的PSSH信息。 | 31| struct [DRM_MediaKeySystemInfo](_d_r_m___media_key_system_info.md) | 用于播放器从媒体源获取媒体密钥系统信息。 | 32 33 34### 宏定义 35 36| 名称 | 描述 | 37| -------- | -------- | 38| [MAX_MEDIA_KEY_REQUEST_OPTION_COUNT](_drm.md#max_media_key_request_option_count) 16 | 媒体密钥请求选项的最大计数。 | 39| [MAX_MEDIA_KEY_REQUEST_OPTION_NAME_LEN](_drm.md#max_media_key_request_option_name_len) 64 | 媒体密钥请求选项名称的最大长度。 | 40| [MAX_MEDIA_KEY_REQUEST_OPTION_DATA_LEN](_drm.md#max_media_key_request_option_data_len) 128 | 媒体密钥请求选项数据的最大长度。 | 41| [MAX_INIT_DATA_LEN](_drm.md#max_init_data_len) 2048 | 媒体密钥请求初始化数据的最大长度。 | 42| [MAX_MIMETYPE_LEN](_drm.md#max_mimetype_len) 64 | 媒体mimetype类型的最大长度。 | 43| [MAX_MEDIA_KEY_REQUEST_DATA_LEN](_drm.md#max_media_key_request_data_len) 8192 | 媒体密钥请求的最大长度。 | 44| [MAX_DEFAULT_URL_LEN](_drm.md#max_default_url_len) 2048 | URL最大长度。 | 45| [MAX_STATISTICS_COUNT](_drm.md#max_statistics_count) 10 | 统计项的最大计数。 | 46| [MAX_STATISTICS_NAME_LEN](_drm.md#max_statistics_name_len) 64 | 统计项名称的最大长度。 | 47| [MAX_STATISTICS_BUFFER_LEN](_drm.md#max_statistics_buffer_len) 256 | 统计项缓冲区的最大长度。 | 48| [MAX_OFFLINE_MEDIA_KEY_ID_COUNT](_drm.md#max_offline_media_key_id_count) 512 | 离线媒体密钥id的最大计数。 | 49| [MAX_OFFLINE_MEDIA_KEY_ID_LEN](_drm.md#max_offline_media_key_id_len) 64 | 离线媒体密钥id的最大长度。 | 50| [MAX_KEY_INFO_COUNT](_drm.md#max_key_info_count) 64 | 密钥信息的最大计数。 | 51| [MAX_KEY_ID_LEN](_drm.md#max_key_id_len) 16 | 密钥id的最大长度。 | 52| [MAX_KEY_STATUS_VALUE_LEN](_drm.md#max_key_status_value_len) 128 | 密钥状态值的最大长度。 | 53| [MAX_MEDIA_KEY_STATUS_COUNT](_drm.md#max_media_key_status_count) 64 | 媒体密钥状态的最大计数。 | 54| [MAX_MEDIA_KEY_STATUS_NAME_LEN](_drm.md#max_media_key_status_name_len) 64 | 媒体密钥状态名称的最大长度。 | 55| [MAX_MEDIA_KEY_STATUS_VALUE_LEN](_drm.md#max_media_key_status_value_len) 256 | 媒体密钥状态值的最大长度。 | 56| [DRM_UUID_LEN](_drm.md#drm_uuid_len) 16 | Drm系统 uuid长度。 | 57| [MAX_PSSH_DATA_LEN](_drm.md#max_pssh_data_len) 2048 | PSSH数据的最大长度。 | 58| [MAX_PSSH_INFO_COUNT](_drm.md#max_pssh_info_count) 8 | PSSH信息的最大计数。 | 59 60 61### 类型定义 62 63| 名称 | 描述 | 64| -------- | -------- | 65| typedef enum [DRM_EventType](_drm.md#drm_eventtype-1) [DRM_EventType](_drm.md#drm_eventtype) | 监听事件类型。 | 66| typedef enum [DRM_ContentProtectionLevel](_drm.md#drm_contentprotectionlevel-1) [DRM_ContentProtectionLevel](_drm.md#drm_contentprotectionlevel) | 内容保护级别类型。 | 67| typedef enum [DRM_MediaKeyType](_drm.md#drm_mediakeytype-1) [DRM_MediaKeyType](_drm.md#drm_mediakeytype) | 许可证类型。 | 68| typedef enum [DRM_MediaKeyRequestType](_drm.md#drm_mediakeyrequesttype-1) [DRM_MediaKeyRequestType](_drm.md#drm_mediakeyrequesttype) | 许可证请求类型。 | 69| typedef enum [DRM_OfflineMediaKeyStatus](_drm.md#drm_offlinemediakeystatus-1) [DRM_OfflineMediaKeyStatus](_drm.md#drm_offlinemediakeystatus) | 离线许可证状态。 | 70| typedef enum [DRM_CertificateStatus](_drm.md#drm_certificatestatus-1) [DRM_CertificateStatus](_drm.md#drm_certificatestatus) | 设备证书状态类型。 | 71| typedef struct [DRM_MediaKeyRequestInfo](_d_r_m___media_key_request_info.md) [DRM_MediaKeyRequestInfo](_drm.md#drm_mediakeyrequestinfo) | 媒体密钥请求信息。 | 72| typedef struct [DRM_MediaKeyRequest](_d_r_m___media_key_request.md) [DRM_MediaKeyRequest](_drm.md#drm_mediakeyrequest) | 媒体密钥请求。 | 73| typedef struct [DRM_Statistics](_d_r_m___statistics.md) [DRM_Statistics](_drm.md#drm_statistics) | MediaKeySystem的度量信息。 | 74| typedef struct [DRM_OfflineMediakeyIdArray](_d_r_m___offline_mediakey_id_array.md) [DRM_OfflineMediakeyIdArray](_drm.md#drm_offlinemediakeyidarray) | 离线媒体密钥ID数组。 | 75| typedef struct [DRM_KeysInfo](_d_r_m___keys_info.md) [DRM_KeysInfo](_drm.md#drm_keysinfo) | 媒体密钥信息。 | 76| typedef struct [DRM_MediaKeyStatus](_d_r_m___media_key_status.md) [DRM_MediaKeyStatus](_drm.md#drm_mediakeystatus) | 媒体密钥状态。 | 77| typedef struct [DRM_PsshInfo](_d_r_m___pssh_info.md) [DRM_PsshInfo](_drm.md#drm_psshinfo) | uuid的PSSH信息。 | 78| typedef struct [DRM_MediaKeySystemInfo](_d_r_m___media_key_system_info.md) [DRM_MediaKeySystemInfo](_drm.md#drm_mediakeysysteminfo) | 用于播放器从媒体源获取媒体密钥系统信息。 | 79| typedef void(\* [DRM_MediaKeySystemInfoCallback](_drm.md#drm_mediakeysysteminfocallback)) ([DRM_MediaKeySystemInfo](_d_r_m___media_key_system_info.md) \*mediaKeySystemInfo) | 应用程序为从媒体源获取媒体密钥系统信息而设置的回调。 | 80| typedef struct [MediaKeySystem](_drm.md#mediakeysystem) [MediaKeySystem](_drm.md#mediakeysystem) | 媒体密钥系统结构。 | 81| typedef struct [MediaKeySession](_drm.md#mediakeysession) [MediaKeySession](_drm.md#mediakeysession) | 媒体密钥会话结构。 | 82 83 84### 枚举 85 86| 名称 | 描述 | 87| -------- | -------- | 88| [DRM_EventType](_drm.md#drm_eventtype-1) {<br/>EVENT_DRM_BASE = 200, <br/>EVENT_PROVISION_REQUIRED = 201, <br/>EVENT_KEY_REQUIRED = 202, <br/>EVENT_KEY_EXPIRED = 203,<br/>EVENT_VENDOR_DEFINED = 204, <br/>EVENT_EXPIRATION_UPDATE = 206<br/>} | 监听事件类型。 | 89| [DRM_ContentProtectionLevel](_drm.md#drm_contentprotectionlevel-1) {<br/>CONTENT_PROTECTION_LEVEL_UNKNOWN = 0, <br/>CONTENT_PROTECTION_LEVEL_SW_CRYPTO, <br/>CONTENT_PROTECTION_LEVEL_HW_CRYPTO, <br/>CONTENT_PROTECTION_LEVEL_ENHANCED_HW_CRYPTO,<br/>CONTENT_PROTECTION_LEVEL_MAX<br/>} | 内容保护级别类型。 | 90| [DRM_MediaKeyType](_drm.md#drm_mediakeytype-1) { <br/>MEDIA_KEY_TYPE_OFFLINE = 0, <br/>MEDIA_KEY_TYPE_ONLINE <br/>} | 许可证类型。 | 91| [DRM_MediaKeyRequestType](_drm.md#drm_mediakeyrequesttype) {<br/>MEDIA_KEY_REQUEST_TYPE_UNKNOWN = 0, <br/>MEDIA_KEY_REQUEST_TYPE_INITIAL, <br/>MEDIA_KEY_REQUEST_TYPE_RENEWAL, <br/>MEDIA_KEY_REQUEST_TYPE_RELEASE,<br/>MEDIA_KEY_REQUEST_TYPE_NONE, <br/>MEDIA_KEY_REQUEST_TYPE_UPDATE<br/>} | 许可证请求类型。 | 92| [DRM_OfflineMediaKeyStatus](_drm.md#drm_offlinemediakeystatus-1) { <br/>OFFLINE_MEDIA_KEY_STATUS_UNKNOWN = 0, <br/>OFFLINE_MEDIA_KEY_STATUS_USABLE, <br/>OFFLINE_MEDIA_KEY_STATUS_INACTIVE } | 离线许可证状态。 | 93| [DRM_CertificateStatus](_drm.md#drm_certificatestatus-1) {<br/>CERT_STATUS_PROVISIONED = 0, <br/>CERT_STATUS_NOT_PROVISIONED, <br/>CERT_STATUS_EXPIRED, <br/>CERT_STATUS_INVALID,<br/>CERT_STATUS_UNAVAILABLE<br/>} | 设备证书状态类型。 | 94