Merge "hidl WVDrmPlugin: check for listener transport errors" into rvc-dev
This commit is contained in:
@@ -1787,27 +1787,35 @@ Return<void> WVDrmPlugin::sendEvent(
|
||||
EventType eventType,
|
||||
const hidl_vec<uint8_t>& sessionId,
|
||||
const hidl_vec<uint8_t>& data) {
|
||||
Return<void> err{};
|
||||
if (mListenerV1_2 != NULL) {
|
||||
mListenerV1_2->sendEvent(eventType, sessionId, data);
|
||||
err = mListenerV1_2->sendEvent(eventType, sessionId, data);
|
||||
} else if (mListener != NULL) {
|
||||
mListener->sendEvent(eventType, sessionId, data);
|
||||
err = mListener->sendEvent(eventType, sessionId, data);
|
||||
} else {
|
||||
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(
|
||||
const hidl_vec<uint8_t>& sessionId,
|
||||
int64_t expiryTimeInMS) {
|
||||
Return<void> err{};
|
||||
if (mListenerV1_2 != NULL) {
|
||||
mListenerV1_2->sendExpirationUpdate(sessionId, expiryTimeInMS);
|
||||
err = mListenerV1_2->sendExpirationUpdate(sessionId, expiryTimeInMS);
|
||||
} else if (mListener != NULL) {
|
||||
mListener->sendExpirationUpdate(sessionId, expiryTimeInMS);
|
||||
err = mListener->sendExpirationUpdate(sessionId, expiryTimeInMS);
|
||||
} else {
|
||||
ALOGE("Null event listener, event not sent");
|
||||
}
|
||||
return Void();
|
||||
if (!err.isOk()) {
|
||||
ALOGW("sendExpirationUpdate failed %s", err.description().c_str());
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
template<>
|
||||
@@ -1815,7 +1823,10 @@ void WVDrmPlugin::_sendKeysChange(
|
||||
const hidl_vec<uint8_t>& sessionId,
|
||||
const hidl_vec<KeyStatus>& keyStatusList,
|
||||
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<>
|
||||
@@ -1823,41 +1834,56 @@ void WVDrmPlugin::_sendKeysChange(
|
||||
const hidl_vec<uint8_t>& sessionId,
|
||||
const hidl_vec<KeyStatus_V1_2>& keyStatusList,
|
||||
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(
|
||||
const hidl_vec<uint8_t>& sessionId,
|
||||
const hidl_vec<KeyStatus>& keyStatusList, bool hasNewUsableKey) {
|
||||
Return<void> err{};
|
||||
if (mListenerV1_2 != NULL) {
|
||||
mListenerV1_2->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
|
||||
err = mListenerV1_2->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
|
||||
} else if (mListener != NULL) {
|
||||
mListener->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
|
||||
err = mListener->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
|
||||
} else {
|
||||
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(
|
||||
const hidl_vec<uint8_t>& sessionId,
|
||||
const hidl_vec<KeyStatus_V1_2>& keyStatusList, bool hasNewUsableKey) {
|
||||
Return<void> err{};
|
||||
if (mListenerV1_2 != NULL) {
|
||||
mListenerV1_2->sendKeysChange_1_2(sessionId, keyStatusList, hasNewUsableKey);
|
||||
err = mListenerV1_2->sendKeysChange_1_2(sessionId, keyStatusList, hasNewUsableKey);
|
||||
} else {
|
||||
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(
|
||||
const hidl_vec<uint8_t>& sessionId) {
|
||||
Return<void> err{};
|
||||
if (mListenerV1_2 != NULL) {
|
||||
mListenerV1_2->sendSessionLostState(sessionId);
|
||||
err = mListenerV1_2->sendSessionLostState(sessionId);
|
||||
} else {
|
||||
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) {
|
||||
|
||||
Reference in New Issue
Block a user