CDM handles mixed output warnings.
[ Merge of http://go/wvgerrit/94304 ] With OEMCrypto V16 comes a new potential error code from calls to DecryptCENC(). WARNING_MIXED_OUTPUT_PROTECTION may be returned by supporting devices if one of the output devices does not meet the required HDCP level for the decryption key/license; however the output is instead restricted (by OEMCrypto) to devices that are secure. This warning is informative to the CDM; but no action can/should be taken by the CDM. In addition, if DecryptCENC() returns an error/warning, it is likely that the same status code will be returned on subsequent calls to decrypt within the same crypto session. To reduce the number of logs the CDM produces within the same crypto session only changes in error codes are logged. Bug: 140825538 Change-Id: Iaf9da3f0c88889525f73f3153a5977c8416286bb
This commit is contained in:
@@ -430,6 +430,13 @@ class CryptoSession {
|
||||
|
||||
uint32_t api_version_;
|
||||
|
||||
// Stores the most recent error code returned from a call to
|
||||
// OEMCrypto_DecryptCENC. This is used to reduce the total number of
|
||||
// error logs for decrypt calls, as there could be a large number of
|
||||
// same error code in sequence of each other. A value of
|
||||
// OEMCrypto_SUCCESS indicates that no error have yet occurred.
|
||||
OEMCryptoResult last_decrypt_error_ = OEMCrypto_SUCCESS;
|
||||
|
||||
// In order to avoid creating a deadlock if instantiation needs to take any
|
||||
// of the CryptoSession static mutexes, |factory_| is protected by its own
|
||||
// mutex that is only used in the two funtions that interact with it.
|
||||
@@ -437,7 +444,7 @@ class CryptoSession {
|
||||
static std::unique_ptr<CryptoSessionFactory> factory_;
|
||||
|
||||
CORE_DISALLOW_COPY_AND_ASSIGN(CryptoSession);
|
||||
};
|
||||
}; // class CryptoSession
|
||||
|
||||
class CryptoSessionFactory {
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user