From a0e6f2804ed515a850df415377dc03807e789d5c Mon Sep 17 00:00:00 2001 From: Jeff Tinker Date: Tue, 17 Mar 2015 10:42:51 -0700 Subject: [PATCH] WV DRM plugin stubs to report key request type for unprefixed EME This CL allows the framework CLs to compile. The stubs need to be implemented properly in the DRM plugin and CDM. bug: 19771299 Change-Id: I9e4b107370a4d73851ee28bcb9ab6087fdffeb13 --- libwvdrmengine/mediadrm/include/WVDrmPlugin.h | 3 ++- libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp | 8 +++++++- libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp | 8 +++++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/libwvdrmengine/mediadrm/include/WVDrmPlugin.h b/libwvdrmengine/mediadrm/include/WVDrmPlugin.h index 488eb34d..d744986c 100644 --- a/libwvdrmengine/mediadrm/include/WVDrmPlugin.h +++ b/libwvdrmengine/mediadrm/include/WVDrmPlugin.h @@ -59,7 +59,8 @@ class WVDrmPlugin : public android::DrmPlugin, KeyType keyType, const KeyedVector& optionalParameters, Vector& request, - String8& defaultUrl); + String8& defaultUrl, + KeyRequestType *keyRequestType); virtual status_t provideKeyResponse(const Vector& scope, const Vector& response, diff --git a/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp b/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp index 5d50664a..d9b2f092 100644 --- a/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp +++ b/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp @@ -120,7 +120,8 @@ status_t WVDrmPlugin::getKeyRequest( KeyType keyType, const KeyedVector& optionalParameters, Vector& request, - String8& defaultUrl) { + String8& defaultUrl, + KeyRequestType *keyRequestType) { CdmLicenseType cdmLicenseType; CdmSessionId cdmSessionId; CdmKeySetId cdmKeySetId; @@ -137,6 +138,11 @@ status_t WVDrmPlugin::getKeyRequest( return android::ERROR_DRM_CANNOT_HANDLE; } + // TODO: set *keyRequestType properly, this is + // just a stub implementation to allow the framework + // changes to build and run + *keyRequestType = kKeyRequestType_Initial; + string cdmInitDataType = initDataType.string(); // Provide backwards-compatibility for apps that pass non-EME-compatible MIME // types. diff --git a/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp b/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp index f5a187b2..5aa11d8b 100644 --- a/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp +++ b/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp @@ -298,24 +298,26 @@ TEST_F(WVDrmPluginTest, GeneratesKeyRequests) { Vector request; String8 defaultUrl; + DrmPlugin::KeyRequestType keyRequestType; status_t res = plugin.getKeyRequest(sessionId, initData, mimeType, DrmPlugin::kKeyType_Offline, - parameters, request, defaultUrl); + parameters, request, defaultUrl, + &keyRequestType); ASSERT_EQ(OK, res); EXPECT_THAT(request, ElementsAreArray(requestRaw, kRequestSize)); EXPECT_STREQ(kDefaultUrl, defaultUrl.string()); res = plugin.getKeyRequest(sessionId, initData, mimeType, DrmPlugin::kKeyType_Streaming, parameters, - request, defaultUrl); + request, defaultUrl, &keyRequestType); ASSERT_EQ(OK, res); EXPECT_THAT(request, ElementsAreArray(requestRaw, kRequestSize)); EXPECT_STREQ(kDefaultUrl, defaultUrl.string()); res = plugin.getKeyRequest(keySetId, initData, mimeType, DrmPlugin::kKeyType_Release, parameters, - request, defaultUrl); + request, defaultUrl, &keyRequestType); ASSERT_EQ(OK, res); EXPECT_THAT(request, ElementsAreArray(requestRaw, kRequestSize)); EXPECT_STREQ(kDefaultUrl, defaultUrl.string());