diff --git a/libwvdrmengine/cdm/core/include/wv_cdm_constants.h b/libwvdrmengine/cdm/core/include/wv_cdm_constants.h index 800c55b1..3c49ff5d 100644 --- a/libwvdrmengine/cdm/core/include/wv_cdm_constants.h +++ b/libwvdrmengine/cdm/core/include/wv_cdm_constants.h @@ -52,6 +52,8 @@ constexpr uint32_t RESOURCE_RATING_TIER_MAX = RESOURCE_RATING_TIER_VERY_HIGH; // OEMCrypto features by version constexpr uint32_t OEM_CRYPTO_API_VERSION_SUPPORTS_RESOURCE_RATING_TIER = 15; constexpr uint32_t OEM_CRYPTO_API_VERSION_SUPPORTS_PROV40_CORE_MESSAGE = 18; +constexpr uint32_t OEM_CRYPTO_API_VERSION_SUPPORTS_INITIAL_RENEWAL_DELAY_BASE = + 18; constexpr char SESSION_ID_PREFIX[] = "sid"; constexpr char ATSC_KEY_SET_ID_PREFIX[] = "atscksid"; diff --git a/libwvdrmengine/cdm/core/src/client_identification.cpp b/libwvdrmengine/cdm/core/src/client_identification.cpp index a9a363ee..0bc07bf4 100644 --- a/libwvdrmengine/cdm/core/src/client_identification.cpp +++ b/libwvdrmengine/cdm/core/src/client_identification.cpp @@ -364,6 +364,11 @@ CdmResponseType ClientIdentification::Prepare( } } + if (api_version >= + OEM_CRYPTO_API_VERSION_SUPPORTS_INITIAL_RENEWAL_DELAY_BASE) { + client_capabilities->set_initial_renewal_delay_base(true); + } + return CdmResponseType(NO_ERROR); } diff --git a/libwvdrmengine/cdm/core/src/license_protocol.proto b/libwvdrmengine/cdm/core/src/license_protocol.proto index 1d0ec510..25ede138 100644 --- a/libwvdrmengine/cdm/core/src/license_protocol.proto +++ b/libwvdrmengine/cdm/core/src/license_protocol.proto @@ -1149,6 +1149,9 @@ message ClientIdentification { // Support is optional. // Value is only required to be set for license requests. optional WatermarkingSupport watermarking_support = 13; + // Indicate whether or not `initial_renewal_delay_base` is supported by the + // client. + optional bool initial_renewal_delay_base = 14 [default = false]; } message ClientCredentials {