Replace toStatus indirection.
CdmResponseType are mapped to android::status_t, then map to hidl android::hardware::drm::V1_0::Status. This CL removes the indirection by mapping cdm errors to hidl Status. Test: Play Movies (pin and streaming) Test: Netflix (download and streaming) Test: libwvdrmmediacrypto_hidl_test and libwvdrmdrmplugin_hidl_test Test: GtsMediaTestCases module Test: Vts - VtsHalDrmV1_0Target bug: 34682447 Change-Id: I0b04f47871f5e4898e7297831d5fceab52e0f7f9
This commit is contained in:
@@ -30,12 +30,9 @@ namespace V1_0 {
|
||||
namespace widevine {
|
||||
|
||||
using ::android::hardware::drm::V1_0::BufferType;
|
||||
using ::android::hardware::drm::V1_0::widevine::toStatus;
|
||||
using ::android::hardware::drm::V1_0::widevine::toVector;
|
||||
using ::android::hardware::Void;
|
||||
|
||||
using android::status_t;
|
||||
|
||||
using wvcdm::CdmDecryptionParameters;
|
||||
using wvcdm::CdmQueryMap;
|
||||
using wvcdm::CdmResponseType;
|
||||
@@ -258,10 +255,10 @@ Return<void> WVCryptoPlugin::decrypt(
|
||||
params.decrypt_buffer_offset = bufferOffset;
|
||||
params.subsample_flags = clearFlags;
|
||||
|
||||
status_t res = attemptDecrypt(params, haveEncryptedSubsamples,
|
||||
Status res = attemptDecrypt(params, haveEncryptedSubsamples,
|
||||
&errorDetailMsg);
|
||||
if (res != android::OK) {
|
||||
_hidl_cb(toStatus(res), 0, errorDetailMsg.c_str());
|
||||
if (res != Status::OK) {
|
||||
_hidl_cb(res, 0, errorDetailMsg.c_str());
|
||||
return Void();
|
||||
}
|
||||
bufferOffset += subSample.numBytesOfClearData;
|
||||
@@ -277,10 +274,10 @@ Return<void> WVCryptoPlugin::decrypt(
|
||||
params.decrypt_buffer_offset = bufferOffset;
|
||||
params.subsample_flags = encryptedFlags;
|
||||
|
||||
status_t res = attemptDecrypt(params, haveEncryptedSubsamples,
|
||||
Status res = attemptDecrypt(params, haveEncryptedSubsamples,
|
||||
&errorDetailMsg);
|
||||
if (res != android::OK) {
|
||||
_hidl_cb(toStatus(res), 0, errorDetailMsg.c_str());
|
||||
if (res != Status::OK) {
|
||||
_hidl_cb(res, 0, errorDetailMsg.c_str());
|
||||
return Void();
|
||||
}
|
||||
|
||||
@@ -331,14 +328,14 @@ Return<void> WVCryptoPlugin::decrypt(
|
||||
return Void();
|
||||
}
|
||||
|
||||
status_t WVCryptoPlugin::attemptDecrypt(const CdmDecryptionParameters& params,
|
||||
Status WVCryptoPlugin::attemptDecrypt(const CdmDecryptionParameters& params,
|
||||
bool haveEncryptedSubsamples,
|
||||
std::string* errorDetailMsg) {
|
||||
CdmResponseType res = mCDM->Decrypt(mSessionId, haveEncryptedSubsamples,
|
||||
params);
|
||||
|
||||
if (isCdmResponseTypeSuccess(res)) {
|
||||
return android::OK;
|
||||
return Status::OK;
|
||||
} else {
|
||||
ALOGE("Decrypt error result in session %s during %s block: %d",
|
||||
mSessionId.c_str(),
|
||||
@@ -381,7 +378,7 @@ status_t WVCryptoPlugin::attemptDecrypt(const CdmDecryptionParameters& params,
|
||||
return mapCdmResponseType(res);
|
||||
} else {
|
||||
// Swallow the specifics of other errors to obscure decrypt internals.
|
||||
return kErrorCDMGeneric;
|
||||
return Status::ERROR_DRM_UNKNOWN;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user