Add session parameter to OEMCrypto_CopyBuffer
Merge from master branch of Widevine repo of http://go/wvgerrit/66070 Merge from oemcrypto-v15 branch of Widevine repo of http://go/wvgerrit/63662 To make the threading model more clear, CopyBuffer is now a session function. This means we need to pass in which session the current thread locks. Test: unit tests. Test: tested as part of http://go/ag/5501993 Bug: 113680369 Change-Id: I2fdd2cfcaab99f3793950b3845941463675f5e4c
This commit is contained in:
@@ -1117,12 +1117,11 @@ CdmResponseType CryptoSession::Decrypt(const CdmDecryptionParameters& params) {
|
||||
if (!params.is_encrypted &&
|
||||
params.subsample_flags ==
|
||||
(OEMCrypto_FirstSubsample | OEMCrypto_LastSubsample)) {
|
||||
M_TIME(
|
||||
sts = OEMCrypto_CopyBuffer(requested_security_level_,
|
||||
params.encrypt_buffer, params.encrypt_length,
|
||||
&buffer_descriptor, params.subsample_flags),
|
||||
metrics_, oemcrypto_copy_buffer_, sts,
|
||||
metrics::Pow2Bucket(params.encrypt_length));
|
||||
M_TIME(sts = OEMCrypto_CopyBuffer(oec_session_id_, params.encrypt_buffer,
|
||||
params.encrypt_length, &buffer_descriptor,
|
||||
params.subsample_flags),
|
||||
metrics_, oemcrypto_copy_buffer_, sts,
|
||||
metrics::Pow2Bucket(params.encrypt_length));
|
||||
|
||||
if (sts == OEMCrypto_ERROR_BUFFER_TOO_LARGE &&
|
||||
params.encrypt_length > kMaximumChunkSize) {
|
||||
@@ -2435,10 +2434,9 @@ OEMCryptoResult CryptoSession::CopyBufferInChunks(
|
||||
}
|
||||
|
||||
OEMCryptoResult sts;
|
||||
M_TIME(sts = OEMCrypto_CopyBuffer(requested_security_level_,
|
||||
params.encrypt_buffer + additional_offset,
|
||||
chunk_size, &buffer_descriptor,
|
||||
subsample_flags),
|
||||
M_TIME(sts = OEMCrypto_CopyBuffer(
|
||||
oec_session_id_, params.encrypt_buffer + additional_offset,
|
||||
chunk_size, &buffer_descriptor, subsample_flags),
|
||||
metrics_, oemcrypto_copy_buffer_, sts,
|
||||
metrics::Pow2Bucket(chunk_size));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user