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());