Add CryptoPluginMode to WV extractor
Allows the WV extractor to run in a mode that is compatible with
the DRM CryptoPlugin HAL API, where decryption is deferred
until the encrypted data is sent through the CryptoPlugin to
the codec.
This patch does:
(1) Adds a flag mCryptoPluginMode that controls this behavior
[Note: need framework support to enable/disable this]
(2) Accumulates information in track metadata to delineate
crypto unit boundaries for the CryptoPlugin
related-to-bug: 5986621
Change-Id: I3318d5cde38c7b02a7bdb56aca9aece852c9781c
This commit is contained in:
@@ -70,6 +70,7 @@ typedef void (*WVSocketInfoCallback)(int fd, int status, void * context);
|
||||
// [in] dts - Decode timestamp, 90 KHz clock
|
||||
// [in] pts - Presentation timestamp, 90 KHz clock
|
||||
// [in] au_end - Indicates end of Access Unit (last CU in frame)
|
||||
// [in] context - Client context established from WV_Setup
|
||||
//
|
||||
// Returns:
|
||||
// - WV_Status_OK: Decryption succeeded
|
||||
@@ -78,7 +79,8 @@ typedef void (*WVSocketInfoCallback)(int fd, int status, void * context);
|
||||
// - Error code indicating problem. Causes playback to halt.
|
||||
//
|
||||
typedef WVStatus (*WVDecryptCallback)(WVEsSelector es_type, void* input, void* output, size_t length,
|
||||
int key, unsigned long long dts, unsigned long long pts, bool au_end);
|
||||
int key, unsigned long long dts, unsigned long long pts,
|
||||
bool au_end, void *context);
|
||||
|
||||
enum WVDecryptCallbackMode {
|
||||
WVDecryptCallbackMode_MultiCU = 0, // WVDecryptCallback called repeatedly until buffer exhausted
|
||||
|
||||
Reference in New Issue
Block a user