Merge "hidl WVDrmPlugin: check for listener transport errors" into rvc-dev am: e77874f376

Change-Id: Ibf58f45d750f9efb4eb008d738ad22e906050dd9
This commit is contained in:
Robert Shih
2020-03-18 19:41:29 +00:00
committed by Automerger Merge Worker

View File

@@ -1787,27 +1787,35 @@ Return<void> WVDrmPlugin::sendEvent(
EventType eventType, EventType eventType,
const hidl_vec<uint8_t>& sessionId, const hidl_vec<uint8_t>& sessionId,
const hidl_vec<uint8_t>& data) { const hidl_vec<uint8_t>& data) {
Return<void> err{};
if (mListenerV1_2 != NULL) { if (mListenerV1_2 != NULL) {
mListenerV1_2->sendEvent(eventType, sessionId, data); err = mListenerV1_2->sendEvent(eventType, sessionId, data);
} else if (mListener != NULL) { } else if (mListener != NULL) {
mListener->sendEvent(eventType, sessionId, data); err = mListener->sendEvent(eventType, sessionId, data);
} else { } else {
ALOGE("Null event listener, event not sent"); ALOGE("Null event listener, event not sent");
} }
return Void(); if (!err.isOk()) {
ALOGW("sendEvent failed %s", err.description().c_str());
}
return err;
} }
Return<void> WVDrmPlugin::sendExpirationUpdate( Return<void> WVDrmPlugin::sendExpirationUpdate(
const hidl_vec<uint8_t>& sessionId, const hidl_vec<uint8_t>& sessionId,
int64_t expiryTimeInMS) { int64_t expiryTimeInMS) {
Return<void> err{};
if (mListenerV1_2 != NULL) { if (mListenerV1_2 != NULL) {
mListenerV1_2->sendExpirationUpdate(sessionId, expiryTimeInMS); err = mListenerV1_2->sendExpirationUpdate(sessionId, expiryTimeInMS);
} else if (mListener != NULL) { } else if (mListener != NULL) {
mListener->sendExpirationUpdate(sessionId, expiryTimeInMS); err = mListener->sendExpirationUpdate(sessionId, expiryTimeInMS);
} else { } else {
ALOGE("Null event listener, event not sent"); ALOGE("Null event listener, event not sent");
} }
return Void(); if (!err.isOk()) {
ALOGW("sendExpirationUpdate failed %s", err.description().c_str());
}
return err;
} }
template<> template<>
@@ -1815,7 +1823,10 @@ void WVDrmPlugin::_sendKeysChange(
const hidl_vec<uint8_t>& sessionId, const hidl_vec<uint8_t>& sessionId,
const hidl_vec<KeyStatus>& keyStatusList, const hidl_vec<KeyStatus>& keyStatusList,
bool hasNewUsableKey) { bool hasNewUsableKey) {
mListener->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey); auto err = mListener->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
if (!err.isOk()) {
ALOGW("sendKeysChange failed %s", err.description().c_str());
}
} }
template<> template<>
@@ -1823,41 +1834,56 @@ void WVDrmPlugin::_sendKeysChange(
const hidl_vec<uint8_t>& sessionId, const hidl_vec<uint8_t>& sessionId,
const hidl_vec<KeyStatus_V1_2>& keyStatusList, const hidl_vec<KeyStatus_V1_2>& keyStatusList,
bool hasNewUsableKey) { bool hasNewUsableKey) {
mListenerV1_2->sendKeysChange_1_2(sessionId, keyStatusList, hasNewUsableKey); auto err = mListenerV1_2->sendKeysChange_1_2(sessionId, keyStatusList, hasNewUsableKey);
if (!err.isOk()) {
ALOGW("sendKeysChange_1_2 failed %s", err.description().c_str());
}
} }
Return<void> WVDrmPlugin::sendKeysChange( Return<void> WVDrmPlugin::sendKeysChange(
const hidl_vec<uint8_t>& sessionId, const hidl_vec<uint8_t>& sessionId,
const hidl_vec<KeyStatus>& keyStatusList, bool hasNewUsableKey) { const hidl_vec<KeyStatus>& keyStatusList, bool hasNewUsableKey) {
Return<void> err{};
if (mListenerV1_2 != NULL) { if (mListenerV1_2 != NULL) {
mListenerV1_2->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey); err = mListenerV1_2->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
} else if (mListener != NULL) { } else if (mListener != NULL) {
mListener->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey); err = mListener->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
} else { } else {
ALOGE("Null event listener, event not sent"); ALOGE("Null event listener, event not sent");
} }
return Void(); if (!err.isOk()) {
ALOGW("sendKeysChange failed %s", err.description().c_str());
}
return err;
} }
Return<void> WVDrmPlugin::sendKeysChange_1_2( Return<void> WVDrmPlugin::sendKeysChange_1_2(
const hidl_vec<uint8_t>& sessionId, const hidl_vec<uint8_t>& sessionId,
const hidl_vec<KeyStatus_V1_2>& keyStatusList, bool hasNewUsableKey) { const hidl_vec<KeyStatus_V1_2>& keyStatusList, bool hasNewUsableKey) {
Return<void> err{};
if (mListenerV1_2 != NULL) { if (mListenerV1_2 != NULL) {
mListenerV1_2->sendKeysChange_1_2(sessionId, keyStatusList, hasNewUsableKey); err = mListenerV1_2->sendKeysChange_1_2(sessionId, keyStatusList, hasNewUsableKey);
} else { } else {
ALOGE("Null event listener, event not sent"); ALOGE("Null event listener, event not sent");
} }
return Void(); if (!err.isOk()) {
ALOGW("sendKeysChange_1_2 failed %s", err.description().c_str());
}
return err;
} }
Return<void> WVDrmPlugin::sendSessionLostState( Return<void> WVDrmPlugin::sendSessionLostState(
const hidl_vec<uint8_t>& sessionId) { const hidl_vec<uint8_t>& sessionId) {
Return<void> err{};
if (mListenerV1_2 != NULL) { if (mListenerV1_2 != NULL) {
mListenerV1_2->sendSessionLostState(sessionId); err = mListenerV1_2->sendSessionLostState(sessionId);
} else { } else {
ALOGE("Null event listener, event not sent"); ALOGE("Null event listener, event not sent");
} }
return Void(); if (!err.isOk()) {
ALOGW("sendSessionLostState failed %s", err.description().c_str());
}
return err;
} }
void WVDrmPlugin::OnSessionRenewalNeeded(const CdmSessionId& cdmSessionId) { void WVDrmPlugin::OnSessionRenewalNeeded(const CdmSessionId& cdmSessionId) {