|
RDK Documentation (Open Sourced RDK Components)
|
19 #ifndef _AAMP_CLEARKEY_HELPER_H
20 #define _AAMP_CLEARKEY_HELPER_H
42 bool parsePssh(
const uint8_t* initData, uint32_t initDataLen);
46 void getKey(std::vector<uint8_t>& keyID)
const;
54 virtual const std::string&
friendlyName()
const override {
return FRIENDLY_NAME; };
57 CLEARKEY_KEY_ID(
"1"), FRIENDLY_NAME(
"Clearkey"), CODEC_TYPE(0), CLEARKEY_DASH_KEY_ID_OFFSET(32u),
58 CLEARKEY_DASH_KEY_ID_LEN(16u), KEY_ID_OFFSET(12), KEY_PAYLOAD_OFFSET(14), BASE_16(16)
64 static const std::string CLEARKEY_OCDM_ID;
65 const std::string CLEARKEY_KEY_ID;
66 const std::string FRIENDLY_NAME;
68 const size_t CLEARKEY_DASH_KEY_ID_OFFSET;
69 const size_t CLEARKEY_DASH_KEY_ID_LEN;
70 const int KEY_ID_OFFSET;
71 const int KEY_PAYLOAD_OFFSET;
75 std::vector<uint8_t> mInitData;
76 std::vector<uint8_t> mKeyID;
99 #endif //_AAMP_CLEARKEY_HELPER_H
virtual int getDrmCodecType() const
Returns the DRM codec type for the helper, used in trace.
Implented DRM helper functionalities.
Class handles the clear key license operations.
std::shared_ptr< AampDrmHelper > createHelper(const struct DrmInfo &drmInfo, AampLogManager *logObj=NULL) const
Build a helper class to support the identified DRM.
AampDrmHelperFactory(int weighting=DEFAULT_WEIGHTING)
AampDrmHelperFactory constructor.
bool isClearDecrypt() const
Determine if the DRM system needs to be in the clear or encrypted.
static const int DEFAULT_WEIGHTING
Default weighting of a helper factory. Nominal scale of 0 to DEFAULT_WEIGHTING * 2 Larger weightings ...
void appendSystemId(std::vector< std::string > &systemIds) const
Adds the system IDs supported by the DRM to a vector Used by the GStreamer plugins to advertise the D...
Holds the data to get the License.
virtual const std::string & friendlyName() const override
Gets the friendly display name of the DRM.
DRM information required to decrypt.
void transformLicenseResponse(std::shared_ptr< DrmData > licenseResponse) const
Transform the license response from the server into the necessary format for OCDM.
Helper class to Maintain DRM data.
Helper Factory class to maintain Aamp DRM data.
const std::string & ocdmSystemId() const
Returns the OCDM system ID of the helper.
bool isDRM(const struct DrmInfo &drmInfo) const
Determines if a helper class provides the identified DRM.
AampDRM helper to handle DRM operations.
void getKey(std::vector< uint8_t > &keyID) const
Get the key ID.
void generateLicenseRequest(const AampChallengeInfo &challengeInfo, AampLicenseRequest &licenseRequest) const
Generate the request details for the DRM license.
Aamp challenge info to get the License.
bool parsePssh(const uint8_t *initData, uint32_t initDataLen)
Parse the optional PSSH data.
void createInitData(std::vector< uint8_t > &initData) const