diff --git a/libclearkeydrmengine/crypto/test/WVCryptoPlugin_test.cpp b/libclearkeydrmengine/crypto/test/WVCryptoPlugin_test.cpp index 004b6a8d..b29eb4c1 100644 --- a/libclearkeydrmengine/crypto/test/WVCryptoPlugin_test.cpp +++ b/libclearkeydrmengine/crypto/test/WVCryptoPlugin_test.cpp @@ -39,12 +39,12 @@ TEST(WVCryptoPluginTest, ManagesASession) { oemCryptoSessionClosed = false; closedCryptoSession = 0; - UniquePtr plugin = new WVCryptoPlugin(); + UniquePtr plugin(new WVCryptoPlugin()); EXPECT_TRUE(oemCryptoSessionOpened) << "WVCryptoPlugin did not call OEMCrypto_OpenSession()"; - plugin.clear(); + plugin.reset(); EXPECT_TRUE(oemCryptoSessionClosed) << "WVCryptoPlugin did not call OEMCrypto_CloseSession()"; @@ -53,7 +53,7 @@ TEST(WVCryptoPluginTest, ManagesASession) { } TEST(WVCryptoPluginTest, CorrectlyReportsSecureBuffers) { - UniquePtr plugin = new WVCryptoPlugin(); + UniquePtr plugin(new WVCryptoPlugin()); EXPECT_FALSE(plugin->requiresSecureDecoderComponent("video/mp4")) << "WVCryptoPlugin incorrectly expects a secure video decoder"; @@ -120,7 +120,7 @@ TEST(WVCryptoPluginTest, AttemptsToDecrypt) { memset(decryptOffsets, 0, sizeof(decryptOffsets)); memset(decryptOutBuffers, 0, sizeof(decryptOutBuffers)); - UniquePtr plugin = new WVCryptoPlugin(); + UniquePtr plugin(new WVCryptoPlugin()); android::CryptoPlugin::SubSample subSamples[3]; subSamples[0].mNumBytesOfEncryptedData = 16; diff --git a/libclearkeydrmengine/include/WVCreateDrmPluginFactory.h b/libclearkeydrmengine/include/WVCreateDrmPluginFactory.h index 8d2091ae..4e49d64a 100644 --- a/libclearkeydrmengine/include/WVCreateDrmPluginFactory.h +++ b/libclearkeydrmengine/include/WVCreateDrmPluginFactory.h @@ -5,6 +5,7 @@ #ifndef WV_CREATE_DRM_PLUGIN_FACTORY_H_ #define WV_CREATE_DRM_PLUGIN_FACTORY_H_ +#include "media/stagefright/foundation/ABase.h" #include "media/drm/DrmEngineAPI.h" #include "media/hardware/CryptoAPI.h" diff --git a/libclearkeydrmengine/test/Android.mk b/libclearkeydrmengine/test/Android.mk index a68ed7db..fca8ef4e 100644 --- a/libclearkeydrmengine/test/Android.mk +++ b/libclearkeydrmengine/test/Android.mk @@ -23,6 +23,7 @@ LOCAL_STATIC_LIBRARIES := \ LOCAL_SHARED_LIBRARIES := \ libstlport \ liblog \ + libdl \ libutils \ LOCAL_MODULE := libclearkeydrmengine_test diff --git a/libclearkeydrmengine/test/WVCreateDrmPluginFactory_test.cpp b/libclearkeydrmengine/test/WVCreateDrmPluginFactory_test.cpp index 6e52263e..bf4ee074 100644 --- a/libclearkeydrmengine/test/WVCreateDrmPluginFactory_test.cpp +++ b/libclearkeydrmengine/test/WVCreateDrmPluginFactory_test.cpp @@ -7,8 +7,8 @@ #include "gtest/gtest.h" TEST(CreateDrmPluginFactoryTest, CreatesObject) { - UniquePtr factory = createDrmPluginFactory(); + UniquePtr factory(createDrmPluginFactory()); - EXPECT_NE((android::DrmPluginFactory*)NULL, factory) << + EXPECT_NE((android::DrmPluginFactory*)NULL, factory.get() ) << "createDrmPluginFactory() returned null"; } diff --git a/libclearkeydrmengine/test/WVDrmPluginFactory_test.cpp b/libclearkeydrmengine/test/WVDrmPluginFactory_test.cpp index 1f8c9d32..4fbe3f01 100644 --- a/libclearkeydrmengine/test/WVDrmPluginFactory_test.cpp +++ b/libclearkeydrmengine/test/WVDrmPluginFactory_test.cpp @@ -4,6 +4,7 @@ #include "utils/UniquePtr.h" #include "WVDrmPluginFactory.h" +#include "media/drm/DrmClientAPI.h" #include "OEMCryptoDASH.h" #include "gtest/gtest.h" @@ -25,7 +26,7 @@ const uint8_t kUnknownUUID[16] = { }; TEST(WVDrmPluginFactoryTest, SupportsSupportedCryptoSchemes) { - UniquePtr factory = new WVDrmPluginFactory(); + UniquePtr factory(new WVDrmPluginFactory()); EXPECT_TRUE(factory->isCryptoSchemeSupported(kWidevineUUID)) << "WVDrmPluginFactory does not support Widevine's UUID"; @@ -35,15 +36,15 @@ TEST(WVDrmPluginFactoryTest, SupportsSupportedCryptoSchemes) { } TEST(WVDrmPluginFactoryTest, DoesNotSupportUnsupportedCryptoSchemes) { - UniquePtr factory = new WVDrmPluginFactory(); + UniquePtr factory(new WVDrmPluginFactory()); EXPECT_FALSE(factory->isCryptoSchemeSupported(kUnknownUUID)) << "WVDrmPluginFactory incorrectly claims to support an unknown UUID"; } TEST(WVDrmPluginFactoryTest, CreatesCryptoPlugins) { - UniquePtr factory = new WVDrmPluginFactory(); - UniquePtr plugin; + UniquePtr factory(new WVDrmPluginFactory()); + android::CryptoPlugin *plugin; status_t result = factory->createCryptoPlugin(kWidevineUUID, NULL, 0, &plugin); @@ -51,11 +52,13 @@ TEST(WVDrmPluginFactoryTest, CreatesCryptoPlugins) { "WVDrmPluginFactory returned error from createCryptoPlugin()"; EXPECT_NE((android::CryptoPlugin *)NULL, plugin) << "WVDrmPluginFactory's createCryptoPlugin() did not create a plugin"; + + delete plugin; } TEST(WVDrmPluginFactoryTest, DoesNotCreateDrmClientPlugins) { - UniquePtr factory = new WVDrmPluginFactory(); - UniquePtr plugin; + UniquePtr factory(new WVDrmPluginFactory()); + android::DrmClientPlugin *plugin; status_t result = factory->createDrmClientPlugin(kWidevineUUID, NULL, 0, &plugin); @@ -63,12 +66,14 @@ TEST(WVDrmPluginFactoryTest, DoesNotCreateDrmClientPlugins) { "WVDrmPluginFactory did not indicate that createDrmClientPlugin() is not implemented"; EXPECT_EQ((android::DrmClientPlugin *)NULL, plugin) << "WVDrmPluginFactory's createDrmClientPlugin() created a plugin (?!?)"; + + delete plugin; } TEST(WVDrmPluginFactoryTest, RefusesToCreateWithUnsupportedCryptoScheme) { - UniquePtr factory = new WVDrmPluginFactory(); - UniquePtr cryptoPlugin; - UniquePtr drmClientPlugin; + UniquePtr factory(new WVDrmPluginFactory()); + android::CryptoPlugin *cryptoPlugin; + android::DrmClientPlugin *drmClientPlugin; status_t result; result = factory->createCryptoPlugin(kUnknownUUID, NULL, 0, &cryptoPlugin); @@ -82,6 +87,9 @@ TEST(WVDrmPluginFactoryTest, RefusesToCreateWithUnsupportedCryptoScheme) { "WVDrmPluginFactory did not reject unknown UUID when creating a DrmClientPlugin"; EXPECT_EQ((android::DrmClientPlugin *)NULL, drmClientPlugin) << "WVDrmPluginFactory created a DrmClientPlugin despite having an unknown UUID"; + + delete cryptoPlugin; + delete drmClientPlugin; } bool oemCryptoInitialized;