|
RDK Documentation (Open Sourced RDK Components)
|
19 #ifndef _AAMP_VGDRM_HELPER_H
20 #define _AAMP_VGDRM_HELPER_H
29 #elif USE_SHARED_MEMORY
32 #error "No memory model for interchange"
44 const uint32_t TEN_SECONDS = 10000U;
50 bool parsePssh(
const uint8_t* initData, uint32_t initDataLen);
59 void getKey(std::vector<uint8_t>& keyID)
const;
69 virtual const std::string&
friendlyName()
const override {
return FRIENDLY_NAME; };
75 static const std::string VGDRM_OCDM_ID;
76 const std::string FRIENDLY_NAME{
"VGDRM"};
77 const int CODEC_TYPE{4};
78 const int KEY_ID_OFFSET{12};
79 const int KEY_PAYLOAD_OFFSET{14};
80 const int BASE_16{16};
84 #elif USE_SHARED_MEMORY
102 const std::string VGDRM_UUID{
"A68129D3-575B-4F1A-9CBA-3223846CF7C3"};
104 const std::set<std::string> VGDRM_URI_START = {
114 #endif //_AAMP_VGDRM_HELPER_H
Implented DRM helper functionalities.
virtual int getDrmCodecType() const
Returns the DRM codec type for the helper, used in trace.
uint32_t licenseGenerateTimeout() const
Get the amount of time in milliseconds to wait before aborting the wait for the license_challenge mes...
void getKey(std::vector< uint8_t > &keyID) const
Get the key ID.
bool parsePssh(const uint8_t *initData, uint32_t initDataLen)
Parse the optional PSSH data.
Controls the ION memory for aamp.
Holds the data to get the License.
void generateLicenseRequest(const AampChallengeInfo &challengeInfo, AampLicenseRequest &licenseRequest) const
Generate the request details for the DRM license.
Handles the shared Memory operations.
DRM information required to decrypt.
bool isClearDecrypt() const
Determine if the DRM system needs to be in the clear or encrypted.
bool isHdcp22Required() const
Determine whether HDCP 2.2 protection is required to be active.
virtual 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.
uint32_t keyProcessTimeout() const
Get the amount of time in milliseconds to wait before aborting the wait for the key_updated message t...
Helper class to Maintain DRM data.
AAMPMemorySystem * getMemorySystem() override
Get the memory system used to transform data for transmission.
void createInitData(std::vector< uint8_t > &initData) const
Handles the operation for Vg DRM.
bool isExternalLicense() const
Determines if the DRM itself fetches the license or if AAMP should use its own internal HTTP client t...
Handles the functionalities for shared memory communication.
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...
AampDRM helper to handle DRM operations.
Handles ION memory storage to store data.
Handles the operations for AAMP memory managemnts.
Aamp challenge info to get the License.
virtual const std::string & friendlyName() const override
Gets the friendly display name of the DRM.
std::shared_ptr< AampDrmHelper > createHelper(const struct DrmInfo &drmInfo, AampLogManager *logObj=NULL) const
Build a helper class to support the identified DRM.