RDK Documentation (Open Sourced RDK Components)
|
AampDRM helper to handle DRM operations. More...
#include <AampDrmHelper.h>
Public Member Functions | |
AampDrmHelper (const struct DrmInfo drmInfo, AampLogManager *logObj) | |
AampDrmHelper (const AampDrmHelper &)=delete | |
AampDrmHelper & | operator= (const AampDrmHelper &)=delete |
virtual const std::string & | ocdmSystemId () const =0 |
Returns the OCDM system ID of the helper. More... | |
virtual void | createInitData (std::vector< uint8_t > &initData) const =0 |
virtual bool | parsePssh (const uint8_t *initData, uint32_t initDataLen)=0 |
Parse the optional PSSH data. More... | |
virtual bool | isClearDecrypt () const =0 |
Determine if the DRM system needs to be in the clear or encrypted. More... | |
virtual bool | isHdcp22Required () const |
Determine whether HDCP 2.2 protection is required to be active. More... | |
virtual const std::string & | getDrmMetaData () const |
Returns the content specific DRM metadata. More... | |
virtual void | setDrmMetaData (const std::string &metaData) |
Sets the content specific DRM metadata. More... | |
virtual void | setDefaultKeyID (const std::string &cencData) |
Sets the defualt keyID. More... | |
virtual int | getDrmCodecType () const |
Returns the DRM codec type for the helper, used in trace. More... | |
virtual uint32_t | licenseGenerateTimeout () const |
Get the amount of time in milliseconds to wait before aborting the wait for the license_challenge message to be received Default is TWO Seconds - 2000. More... | |
virtual uint32_t | keyProcessTimeout () const |
Get the amount of time in milliseconds to wait before aborting the wait for the key_updated message to be received Default is TWO Seconds - 2000. More... | |
virtual void | getKey (std::vector< uint8_t > &keyID) const =0 |
Get the key ID. More... | |
virtual void | getKeys (std::map< int, std::vector< uint8_t >> &keyIDs) const |
Get the key IDs. More... | |
virtual const std::string & | getUuid () const |
Get the UUID. More... | |
virtual bool | isExternalLicense () const |
Determines if the DRM itself fetches the license or if AAMP should use its own internal HTTP client to fetch the license Returning 'true' removes AAMP calling generateLicenseRequest() on the CDM Default is to return false. More... | |
virtual void | generateLicenseRequest (const AampChallengeInfo &challengeInfo, AampLicenseRequest &licenseRequest) const =0 |
Generate the request details for the DRM license. More... | |
virtual void | transformLicenseResponse (std::shared_ptr< DrmData > licenseResponse) const |
Transform the license response from the server into the necessary format for OCDM. More... | |
virtual AAMPMemorySystem * | getMemorySystem () |
Get the memory system used to transform data for transmission. More... | |
virtual bool | compare (std::shared_ptr< AampDrmHelper > other) |
Compare against another helper instance. More... | |
virtual void | cancelDrmSession () |
Cancels a DRM session. | |
virtual bool | canCancelDrmSession () |
Checks if the helper can cancel a session, or if the caller should do it. More... | |
virtual const std::string & | friendlyName () const |
Gets the friendly display name of the DRM. More... | |
void | setOutputProtectionFlag (bool bValue) |
Set Output protection flag for the drmHelper. More... | |
Data Fields | |
const uint32_t | TIMEOUT_SECONDS |
const std::string | EMPTY_DRM_METADATA |
const std::string | EMPTY_STRING |
AampLogManager * | mLogObj |
Protected Attributes | |
const DrmInfo | mDrmInfo |
bool | bOutputProtectionEnabled |
AampDRM helper to handle DRM operations.
Definition at line 79 of file AampDrmHelper.h.
|
pure virtual |
Returns the OCDM system ID of the helper.
Implemented in AampVgdrmHelper, AampWidevineDrmHelper, AampPlayReadyHelper, AampVanillaDrmHelper, AampClearKeyHelper, and AampVerimatrixHelper.
|
pure virtual |
initData | the Init Data to send to the CDM |
Implemented in AampVanillaDrmHelper, AampVgdrmHelper, AampWidevineDrmHelper, AampPlayReadyHelper, AampClearKeyHelper, and AampVerimatrixHelper.
|
pure virtual |
Parse the optional PSSH data.
initData | The init data from the PSSH |
initDataLen | the length of initData |
Implemented in AampVgdrmHelper, AampWidevineDrmHelper, AampPlayReadyHelper, AampVanillaDrmHelper, AampClearKeyHelper, and AampVerimatrixHelper.
|
pure virtual |
Determine if the DRM system needs to be in the clear or encrypted.
Implemented in AampVanillaDrmHelper, AampVgdrmHelper, AampWidevineDrmHelper, AampPlayReadyHelper, AampClearKeyHelper, and AampVerimatrixHelper.
|
inlinevirtual |
Determine whether HDCP 2.2 protection is required to be active.
Reimplemented in AampVgdrmHelper, and AampPlayReadyHelper.
Definition at line 121 of file AampDrmHelper.h.
|
inlinevirtual |
Returns the content specific DRM metadata.
Reimplemented in AampPlayReadyHelper, AampWidevineDrmHelper, and AampVerimatrixHelper.
Definition at line 127 of file AampDrmHelper.h.
|
inlinevirtual |
Sets the content specific DRM metadata.
the | DRM metadata |
Reimplemented in AampWidevineDrmHelper, AampPlayReadyHelper, AampVanillaDrmHelper, and AampVerimatrixHelper.
Definition at line 133 of file AampDrmHelper.h.
|
inlinevirtual |
Sets the defualt keyID.
the | DRM cencData data |
Reimplemented in AampWidevineDrmHelper.
Definition at line 139 of file AampDrmHelper.h.
|
inlinevirtual |
Returns the DRM codec type for the helper, used in trace.
Reimplemented in AampWidevineDrmHelper, AampVgdrmHelper, AampPlayReadyHelper, AampVanillaDrmHelper, AampClearKeyHelper, and AampVerimatrixHelper.
Definition at line 145 of file AampDrmHelper.h.
|
inlinevirtual |
Get the amount of time in milliseconds to wait before aborting the wait for the license_challenge message to be received Default is TWO Seconds - 2000.
Reimplemented in AampVgdrmHelper.
Definition at line 153 of file AampDrmHelper.h.
|
inlinevirtual |
Get the amount of time in milliseconds to wait before aborting the wait for the key_updated message to be received Default is TWO Seconds - 2000.
Reimplemented in AampVgdrmHelper.
Definition at line 161 of file AampDrmHelper.h.
|
pure virtual |
Get the key ID.
keyID | The key ID as a vector of binary data |
Implemented in AampVanillaDrmHelper, AampVgdrmHelper, AampWidevineDrmHelper, AampPlayReadyHelper, AampClearKeyHelper, and AampVerimatrixHelper.
|
inlinevirtual |
Get the key IDs.
keyIDs | The map containing Key ID vector of binary data |
Reimplemented in AampWidevineDrmHelper.
Definition at line 173 of file AampDrmHelper.h.
|
inlinevirtual |
|
inlinevirtual |
Determines if the DRM itself fetches the license or if AAMP should use its own internal HTTP client to fetch the license Returning 'true' removes AAMP calling generateLicenseRequest() on the CDM Default is to return false.
Reimplemented in AampVgdrmHelper, AampVanillaDrmHelper, AampWidevineDrmHelper, and AampVerimatrixHelper.
Definition at line 188 of file AampDrmHelper.h.
|
pure virtual |
Generate the request details for the DRM license.
challengeInfo | challenge information from the DRM system necessary to construct the license request |
licenseRequest | license request data to populate |
Implemented in AampWidevineDrmHelper, AampVgdrmHelper, AampPlayReadyHelper, AampVanillaDrmHelper, AampClearKeyHelper, and AampVerimatrixHelper.
|
inlinevirtual |
Transform the license response from the server into the necessary format for OCDM.
licenseResponse | license response from the server to transform |
Reimplemented in AampClearKeyHelper, and AampVerimatrixHelper.
Definition at line 201 of file AampDrmHelper.h.
|
inlinevirtual |
Get the memory system used to transform data for transmission.
Reimplemented in AampVgdrmHelper.
Definition at line 207 of file AampDrmHelper.h.
|
virtual |
Compare against another helper instance.
Definition at line 34 of file AampDrmHelper.cpp.
|
inlinevirtual |
Checks if the helper can cancel a session, or if the caller should do it.
Definition at line 224 of file AampDrmHelper.h.
|
inlinevirtual |
Gets the friendly display name of the DRM.
Reimplemented in AampVgdrmHelper, AampWidevineDrmHelper, AampPlayReadyHelper, AampVanillaDrmHelper, AampClearKeyHelper, and AampVerimatrixHelper.
Definition at line 230 of file AampDrmHelper.h.
|
inline |
Set Output protection flag for the drmHelper.
Definition at line 236 of file AampDrmHelper.h.