RDK Documentation (Open Sourced RDK Components)
HlsDrmBase Class Referenceabstract

Base class of HLS DRM implementations. More...

#include <HlsDrmBase.h>

Inheritance diagram for HlsDrmBase:
Inheritance graph
Collaboration diagram for HlsDrmBase:
Collaboration graph

Public Member Functions

virtual DrmReturn SetMetaData (class PrivateInstanceAAMP *aamp, void *metadata, int trackType, AampLogManager *logObj=NULL)=0
 Set DRM specific meta-data. More...
 
virtual DrmReturn SetDecryptInfo (PrivateInstanceAAMP *aamp, const struct DrmInfo *drmInfo, AampLogManager *logObj=NULL)=0
 Set information required for decryption. More...
 
virtual DrmReturn Decrypt (ProfilerBucketType bucketType, void *encryptedDataPtr, size_t encryptedDataLen, int timeInMs=3000)=0
 Decrypts an encrypted buffer. More...
 
virtual void Release ()=0
 Release drm session.
 
virtual void CancelKeyWait ()=0
 Cancel timed_wait operation drm_Decrypt.
 
virtual void RestoreKeyState ()=0
 Restore key state post cleanup of audio/video TrackState in case DRM data is persisted.
 
virtual void AcquireKey (class PrivateInstanceAAMP *aamp, void *metadata, int trackType, AampLogManager *logObj=NULL)=0
 AcquireKey Function to get DRM Key. More...
 
virtual DRMState GetState ()=0
 GetState Function to get current DRM state. More...
 
virtual ~HlsDrmBase ()
 HlsDrmBase Destructor.
 

yes

Base class of HLS DRM implementations.

Definition at line 59 of file HlsDrmBase.h.

Member Function Documentation

◆ SetMetaData()

virtual DrmReturn HlsDrmBase::SetMetaData ( class PrivateInstanceAAMP aamp,
void *  metadata,
int  trackType,
AampLogManager logObj = NULL 
)
pure virtual

Set DRM specific meta-data.

Parameters
aampAAMP instance to be associated with this decryptor
metadataDRM specific metadata
Return values
0on success

Implemented in AesDec, and AampHlsOcdmBridge.

◆ SetDecryptInfo()

virtual DrmReturn HlsDrmBase::SetDecryptInfo ( PrivateInstanceAAMP aamp,
const struct DrmInfo drmInfo,
AampLogManager logObj = NULL 
)
pure virtual

Set information required for decryption.

Parameters
aampAAMP instance to be associated with this decryptor
drmInfoDrm information
Return values
eDRM_SUCCESSon success

Implemented in AampHlsOcdmBridge, and AesDec.

◆ Decrypt()

virtual DrmReturn HlsDrmBase::Decrypt ( ProfilerBucketType  bucketType,
void *  encryptedDataPtr,
size_t  encryptedDataLen,
int  timeInMs = 3000 
)
pure virtual

Decrypts an encrypted buffer.

Parameters
bucketTypeType of bucket for profiling
encryptedDataPtrpointer to encyrpted payload
encryptedDataLenlength in bytes of data pointed to by encryptedDataPtr
timeInMswait time
Return values
eDRM_SUCCESSon success

Implemented in AampHlsOcdmBridge, and AesDec.

◆ AcquireKey()

virtual void HlsDrmBase::AcquireKey ( class PrivateInstanceAAMP aamp,
void *  metadata,
int  trackType,
AampLogManager logObj = NULL 
)
pure virtual

AcquireKey Function to get DRM Key.

Implemented in AampHlsOcdmBridge, and AesDec.

◆ GetState()

virtual DRMState HlsDrmBase::GetState ( )
pure virtual

GetState Function to get current DRM state.

Implemented in AampHlsOcdmBridge, and AesDec.


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