RDK Documentation (Open Sourced RDK Components)
AAMPOCDMSession Class Reference

Open CDM DRM session. More...

#include <opencdmsession.h>

Inheritance diagram for AAMPOCDMSession:
Inheritance graph
Collaboration diagram for AAMPOCDMSession:
Collaboration graph

Public Member Functions

 AAMPOCDMSession (AampLogManager *logObj, const string &keySystem)
 
 AAMPOCDMSession (const AAMPOCDMSession &)=delete
 
AAMPOCDMSessionoperator= (const AAMPOCDMSession &)=delete
 
void generateAampDRMSession (const uint8_t *f_pbInitData, uint32_t f_cbInitData, std::string &customData)
 Create drm session with given init data. More...
 
DrmDataaampGenerateKeyRequest (string &destinationURL, uint32_t timeout)
 Generate key request from DRM session Caller function should free the returned memory. More...
 
int aampDRMProcessKey (DrmData *key, uint32_t timeout)
 Updates the received key to DRM session. More...
 
int decrypt (const uint8_t *f_pbIV, uint32_t f_cbIV, const uint8_t *payloadData, uint32_t payloadDataSize, uint8_t **ppOpaqueData)
 Function to decrypt stream buffer.
 
KeyState getState ()
 Get the current state of DRM Session. More...
 
void clearDecryptContext ()
 Clear the current session context So that new init data can be bound.
 
- Public Member Functions inherited from AampDrmSession
virtual int decrypt (GstBuffer *keyIDBuffer, GstBuffer *ivBuffer, GstBuffer *buffer, unsigned subSampleCount, GstBuffer *subSamplesBuffer, GstCaps *caps=NULL)
 Function to decrypt GStreamer stream buffer.
 
virtual bool waitForState (KeyState state, const uint32_t timeout)
 Waits for the current state of DRM Session to match required.. Timeout is that from the helper. Only used by OCDM Adapter for now. More...
 
 AampDrmSession (AampLogManager *logObj, const string &keySystem)
 Constructor for AampDrmSession.
 
 AampDrmSession (const AampDrmSession &)=delete
 Copy constructor disabled. More...
 
AampDrmSessionoperator= (const AampDrmSession &)=delete
 assignment operator disabled More...
 
virtual ~AampDrmSession ()
 Destructor for AampDrmSession..
 
string getKeySystem ()
 Get the DRM System, ie, UUID for PlayReady WideVine etc.. More...
 
void setOutputProtection (bool bValue)
 Set the OutputProtection for DRM Session. More...
 

Private Member Functions

void initAampDRMSession ()
 

Private Attributes

pthread_mutex_t decryptMutex
 
AampOutputProtectionm_pOutputProtection
 
KeyState m_eKeyState
 
media::OpenCdm * m_pOpencdm
 
media::OpenCdm * m_pOpencdmDecrypt
 
string m_sessionID
 

Additional Inherited Members

- Data Fields inherited from AampDrmSession
AampLogManagermLogObj
 
- Protected Attributes inherited from AampDrmSession
std::string m_keySystem
 
bool m_OutputProtectionEnabled
 

yes

Open CDM DRM session.

Definition at line 38 of file opencdmsession.h.

Member Function Documentation

◆ generateAampDRMSession()

void AAMPOCDMSession::generateAampDRMSession ( const uint8_t *  f_pbInitData,
uint32_t  f_cbInitData,
std::string &  customData 
)
virtual

Create drm session with given init data.

Parameters
f_pbInitData: pointer to initdata
f_cbInitData: init data size

Implements AampDrmSession.

Definition at line 194 of file opencdmsession.cpp.

◆ aampGenerateKeyRequest()

DrmData * AAMPOCDMSession::aampGenerateKeyRequest ( string &  destinationURL,
uint32_t  timeout 
)
virtual

Generate key request from DRM session Caller function should free the returned memory.

Parameters
destinationURL: gets updated with license server url
timeoutmax timeout untill which to wait for cdm key generation.
Return values
Pointerto DrmData containing license request.

Implements AampDrmSession.

Definition at line 248 of file opencdmsession.cpp.

◆ aampDRMProcessKey()

int AAMPOCDMSession::aampDRMProcessKey ( DrmData key,
uint32_t  timeout 
)
virtual

Updates the received key to DRM session.

Parameters
key: License key from license server.
timeoutmax timeout untill which to wait for cdm key processing.
Return values
returnsstatus of update request

Implements AampDrmSession.

Definition at line 304 of file opencdmsession.cpp.

◆ getState()

KeyState AAMPOCDMSession::getState ( )
virtual

Get the current state of DRM Session.

Return values
KeyState

Implements AampDrmSession.

Definition at line 469 of file opencdmsession.cpp.


The documentation for this class was generated from the following files: