Pepper_31_C_interfaces
Classes | Macros | Enumerations | Functions
pp_content_decryptor_samsung.h File Reference
#include "ppapi/c/pp_macros.h"
#include "ppapi/c/pp_stdint.h"
Include dependency graph for pp_content_decryptor_samsung.h:

Go to the source code of this file.

Classes

struct  PP_DecryptTrackingInfo
 
struct  PP_DecryptSubsampleDescription
 
struct  PP_EncryptedBlockInfo
 
struct  PP_DecryptedBlockInfo
 
struct  PP_DecryptedFrameInfo
 
struct  PP_AudioDecoderConfig
 
struct  PP_VideoDecoderConfig
 

Macros

#define MAX_KEY_ID_LENGTH   64
 
#define MAX_IV_LENGTH   16
 
#define MAX_SUBSAMPLES   16
 

Enumerations

enum  PP_DecryptedFrameFormat { PP_DECRYPTEDFRAMEFORMAT_UNKNOWN = 0, PP_DECRYPTEDFRAMEFORMAT_YV12 = 1, PP_DECRYPTEDFRAMEFORMAT_I420 = 2 }
 
enum  PP_DecryptResult {
  PP_DECRYPTRESULT_SUCCESS = 0, PP_DECRYPTRESULT_DECRYPT_NOKEY = 1, PP_DECRYPTRESULT_NEEDMOREDATA = 2, PP_DECRYPTRESULT_DECRYPT_ERROR = 3,
  PP_DECRYPTRESULT_DECODE_ERROR = 4
}
 
enum  PP_MediaKeyError {
  PP_MEDIAKEYERROR_UNKNOWN_ERROR = 1, PP_MEDIAKEYERROR_CLIENT_ERROR = 2, PP_MEDIAKEYERROR_SERVICE_ERROR = 3, PP_MEDIAKEYERROR_OUTPUT_ERROR = 4,
  PP_MEDIAKEYERROR_HARDWARE_CHANGE_ERROR = 5, PP_MEDIAKEYERROR_DOMAIN_ERROR = 6
}
 
enum  PP_DecryptedFramePlanes { PP_DECRYPTEDFRAMEPLANES_Y = 0, PP_DECRYPTEDFRAMEPLANES_U = 1, PP_DECRYPTEDFRAMEPLANES_V = 2 }
 
enum  PP_AudioCodec { PP_AUDIOCODEC_UNKNOWN = 0, PP_AUDIOCODEC_VORBIS = 1, PP_AUDIOCODEC_AAC = 2 }
 
enum  PP_VideoCodec { PP_VIDEOCODEC_UNKNOWN = 0, PP_VIDEOCODEC_VP8 = 1, PP_VIDEOCODEC_H264 = 2 }
 
enum  PP_VideoCodecProfile {
  PP_VIDEOCODECPROFILE_UNKNOWN = 0, PP_VIDEOCODECPROFILE_VP8_MAIN = 1, PP_VIDEOCODECPROFILE_H264_BASELINE = 2, PP_VIDEOCODECPROFILE_H264_MAIN = 3,
  PP_VIDEOCODECPROFILE_H264_EXTENDED = 4, PP_VIDEOCODECPROFILE_H264_HIGH = 5, PP_VIDEOCODECPROFILE_H264_HIGH_10 = 6, PP_VIDEOCODECPROFILE_H264_HIGH_422 = 7,
  PP_VIDEOCODECPROFILE_H264_HIGH_444_PREDICTIVE = 8
}
 
enum  PP_DecryptorStreamType { PP_DECRYPTORSTREAMTYPE_AUDIO = 0, PP_DECRYPTORSTREAMTYPE_VIDEO = 1 }
 

Functions

 PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES (PP_DecryptTrackingInfo, 16)
 
 PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES (PP_DecryptSubsampleDescription, 8)
 
 PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES (PP_EncryptedBlockInfo, 248)
 
 PP_COMPILE_ASSERT_SIZE_IN_BYTES (PP_DecryptedFrameFormat, 4)
 
 PP_COMPILE_ASSERT_SIZE_IN_BYTES (PP_DecryptResult, 4)
 
 PP_COMPILE_ASSERT_SIZE_IN_BYTES (PP_MediaKeyError, 4)
 
 PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES (PP_DecryptedBlockInfo, 24)
 
 PP_COMPILE_ASSERT_SIZE_IN_BYTES (PP_DecryptedFramePlanes, 4)
 
 PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES (PP_DecryptedFrameInfo, 56)
 
 PP_COMPILE_ASSERT_SIZE_IN_BYTES (PP_AudioCodec, 4)
 
 PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES (PP_AudioDecoderConfig, 20)
 
 PP_COMPILE_ASSERT_SIZE_IN_BYTES (PP_VideoCodec, 4)
 
 PP_COMPILE_ASSERT_SIZE_IN_BYTES (PP_VideoCodecProfile, 4)
 
 PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES (PP_VideoDecoderConfig, 24)
 
 PP_COMPILE_ASSERT_SIZE_IN_BYTES (PP_DecryptorStreamType, 4)
 

Detailed Description

Aim of this extension is to provide a way that NaCl application can provide functionality of ContentDecryptionModule (CDM).

This API is almost the same as PP[PB]_ContentDecryptor_Private API with some additional methods allowing NaCl application to register itself as CDM for given keySystem.

TODO(samsung) Add support for decoding audio/video present in ContentDecryptor_Private API

Definition in file pp_content_decryptor_samsung.h.

Macro Definition Documentation

#define MAX_IV_LENGTH   16

Length PP_EncryptedBlockInfo.iv field

Definition at line 42 of file pp_content_decryptor_samsung.h.

#define MAX_KEY_ID_LENGTH   64

Defines sizes of arrays inside PP_EncryptedBlockInfo

Keep those defines aligned with size of corresponding arrays in PP_EncryptedBlockInfoLength PP_EncryptedBlockInfo.key_id field

Definition at line 39 of file pp_content_decryptor_samsung.h.

#define MAX_SUBSAMPLES   16

Length PP_EncryptedBlockInfo.subsamples field

Definition at line 45 of file pp_content_decryptor_samsung.h.