libwvhidl: implement setPlaybackId
Bug: 159337195 Bug: 168341163 Test: GtsMediaTestCases MediaDrmTest#testSetPlaybackId Change-Id: I4fc687892c9dd3b8077b3ecdfd9bbc355b298571
This commit is contained in:
@@ -225,6 +225,10 @@ struct WVDrmPlugin : public ::drm::V1_4::IDrmPlugin, IDrmPluginListener,
|
||||
|
||||
Return<bool> requiresSecureDecoderDefault(const hidl_string& mime) override;
|
||||
|
||||
Return<::drm::V1_0::Status> setPlaybackId(
|
||||
const hidl_vec<uint8_t>& sessionId,
|
||||
const hidl_string& playbackId) override;
|
||||
|
||||
// The following methods do not use hidl interface, it is used internally.
|
||||
virtual Status unprovisionDevice();
|
||||
|
||||
|
||||
@@ -1955,6 +1955,16 @@ Return<bool> WVDrmPlugin::requiresSecureDecoderDefault(const hidl_string& mime)
|
||||
}
|
||||
}
|
||||
|
||||
Return<::drm::V1_0::Status> WVDrmPlugin::setPlaybackId(
|
||||
const hidl_vec<uint8_t>& sessionId,
|
||||
const hidl_string& playbackId) {
|
||||
const std::vector<uint8_t> sId = toVector(sessionId);
|
||||
CdmSessionId cdmSessionId(sId.begin(), sId.end());
|
||||
std::string cdmPlaybackId = playbackId;
|
||||
CdmResponseType res = mCDM->SetPlaybackId(cdmSessionId, cdmPlaybackId);
|
||||
return mapCdmResponseType(res);
|
||||
}
|
||||
|
||||
void WVDrmPlugin::OnSessionRenewalNeeded(const CdmSessionId& cdmSessionId) {
|
||||
const std::vector<uint8_t> sessionId = StrToVector(cdmSessionId);
|
||||
const hidl_vec<uint8_t> data; // data is ignored
|
||||
|
||||
@@ -412,6 +412,11 @@ void HidlMetricsAdapter::AddSessionMetrics(
|
||||
"license_service_version",
|
||||
proto_metrics.license_service_version());
|
||||
}
|
||||
if (proto_metrics.has_playback_id()) {
|
||||
group_builder.AddValue(
|
||||
"playback_id",
|
||||
proto_metrics.playback_id());
|
||||
}
|
||||
group_vector_.emplace_back(group_builder.Build());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user