Loading drm/1.0/default/CryptoPlugin.cpp +14 −1 Original line number Original line Diff line number Diff line Loading @@ -51,7 +51,11 @@ namespace implementation { Return<void> CryptoPlugin::setSharedBufferBase(const hidl_memory& base, Return<void> CryptoPlugin::setSharedBufferBase(const hidl_memory& base, uint32_t bufferId) { uint32_t bufferId) { mSharedBufferMap[bufferId] = mapMemory(base); sp<IMemory> hidlMemory = mapMemory(base); ALOGE_IF(hidlMemory == nullptr, "mapMemory returns nullptr"); // allow mapMemory to return nullptr mSharedBufferMap[bufferId] = hidlMemory; return Void(); return Void(); } } Loading Loading @@ -107,6 +111,10 @@ namespace implementation { AString detailMessage; AString detailMessage; sp<IMemory> sourceBase = mSharedBufferMap[source.bufferId]; sp<IMemory> sourceBase = mSharedBufferMap[source.bufferId]; if (sourceBase == nullptr) { _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "source is a nullptr"); return Void(); } if (source.offset + offset + source.size > sourceBase->getSize()) { if (source.offset + offset + source.size > sourceBase->getSize()) { _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "invalid buffer size"); _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "invalid buffer size"); Loading @@ -121,6 +129,11 @@ namespace implementation { if (destination.type == BufferType::SHARED_MEMORY) { if (destination.type == BufferType::SHARED_MEMORY) { const SharedBuffer& destBuffer = destination.nonsecureMemory; const SharedBuffer& destBuffer = destination.nonsecureMemory; sp<IMemory> destBase = mSharedBufferMap[destBuffer.bufferId]; sp<IMemory> destBase = mSharedBufferMap[destBuffer.bufferId]; if (destBase == nullptr) { _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "destination is a nullptr"); return Void(); } if (destBuffer.offset + destBuffer.size > destBase->getSize()) { if (destBuffer.offset + destBuffer.size > destBase->getSize()) { _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "invalid buffer size"); _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "invalid buffer size"); return Void(); return Void(); Loading drm/1.0/vts/functional/drm_hal_clearkey_test.cpp +11 −10 Original line number Original line Diff line number Diff line Loading @@ -94,10 +94,10 @@ class DrmHalClearkeyFactoryTest : public ::testing::VtsHalHidlTargetTestBase { drmFactory = drmFactory = ::testing::VtsHalHidlTargetTestBase::getService<IDrmFactory>(); ::testing::VtsHalHidlTargetTestBase::getService<IDrmFactory>(); ASSERT_NE(drmFactory, nullptr); ASSERT_NE(nullptr, drmFactory.get()); cryptoFactory = cryptoFactory = ::testing::VtsHalHidlTargetTestBase::getService<ICryptoFactory>(); ::testing::VtsHalHidlTargetTestBase::getService<ICryptoFactory>(); ASSERT_NE(cryptoFactory, nullptr); ASSERT_NE(nullptr, cryptoFactory.get()); } } virtual void TearDown() override {} virtual void TearDown() override {} Loading Loading @@ -166,7 +166,7 @@ TEST_F(DrmHalClearkeyFactoryTest, CreateClearKeyDrmPlugin) { kClearKeyUUID, packageName, kClearKeyUUID, packageName, [&](Status status, const sp<IDrmPlugin>& plugin) { [&](Status status, const sp<IDrmPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); EXPECT_NE(plugin, nullptr); EXPECT_NE(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -180,7 +180,7 @@ TEST_F(DrmHalClearkeyFactoryTest, CreateClearKeyCryptoPlugin) { kClearKeyUUID, initVec, kClearKeyUUID, initVec, [&](Status status, const sp<ICryptoPlugin>& plugin) { [&](Status status, const sp<ICryptoPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); EXPECT_NE(plugin, nullptr); EXPECT_NE(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -194,7 +194,7 @@ TEST_F(DrmHalClearkeyFactoryTest, CreateInvalidDrmPlugin) { kInvalidUUID, packageName, kInvalidUUID, packageName, [&](Status status, const sp<IDrmPlugin>& plugin) { [&](Status status, const sp<IDrmPlugin>& plugin) { EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(plugin, nullptr); EXPECT_EQ(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -208,7 +208,7 @@ TEST_F(DrmHalClearkeyFactoryTest, CreateInvalidCryptoPlugin) { kInvalidUUID, initVec, kInvalidUUID, initVec, [&](Status status, const sp<ICryptoPlugin>& plugin) { [&](Status status, const sp<ICryptoPlugin>& plugin) { EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(plugin, nullptr); EXPECT_EQ(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -219,13 +219,13 @@ class DrmHalClearkeyPluginTest : public DrmHalClearkeyFactoryTest { // Create factories // Create factories DrmHalClearkeyFactoryTest::SetUp(); DrmHalClearkeyFactoryTest::SetUp(); ASSERT_NE(drmFactory, nullptr); ASSERT_NE(nullptr, drmFactory.get()); hidl_string packageName("android.hardware.drm.test"); hidl_string packageName("android.hardware.drm.test"); auto res = drmFactory->createPlugin( auto res = drmFactory->createPlugin( kClearKeyUUID, packageName, kClearKeyUUID, packageName, [this](Status status, const sp<IDrmPlugin>& plugin) { [this](Status status, const sp<IDrmPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); ASSERT_NE(plugin, nullptr); ASSERT_NE(nullptr, plugin.get()); drmPlugin = plugin; drmPlugin = plugin; }); }); ASSERT_OK(res); ASSERT_OK(res); Loading @@ -235,7 +235,7 @@ class DrmHalClearkeyPluginTest : public DrmHalClearkeyFactoryTest { kClearKeyUUID, initVec, kClearKeyUUID, initVec, [this](Status status, const sp<ICryptoPlugin>& plugin) { [this](Status status, const sp<ICryptoPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); ASSERT_NE(plugin, nullptr); ASSERT_NE(nullptr, plugin.get()); cryptoPlugin = plugin; cryptoPlugin = plugin; }); }); ASSERT_OK(res); ASSERT_OK(res); Loading Loading @@ -866,7 +866,7 @@ TEST_F(DrmHalClearkeyPluginTest, NotifyResolution) { sp<IMemory> DrmHalClearkeyPluginTest::getDecryptMemory(size_t size, sp<IMemory> DrmHalClearkeyPluginTest::getDecryptMemory(size_t size, size_t index) { size_t index) { sp<IAllocator> ashmemAllocator = IAllocator::getService("ashmem"); sp<IAllocator> ashmemAllocator = IAllocator::getService("ashmem"); EXPECT_NE(ashmemAllocator, nullptr); EXPECT_NE(nullptr, ashmemAllocator.get()); hidl_memory hidlMemory; hidl_memory hidlMemory; auto res = ashmemAllocator->allocate( auto res = ashmemAllocator->allocate( Loading @@ -878,6 +878,7 @@ sp<IMemory> DrmHalClearkeyPluginTest::getDecryptMemory(size_t size, EXPECT_OK(res); EXPECT_OK(res); sp<IMemory> mappedMemory = mapMemory(hidlMemory); sp<IMemory> mappedMemory = mapMemory(hidlMemory); EXPECT_NE(nullptr, mappedMemory.get()); EXPECT_OK(cryptoPlugin->setSharedBufferBase(hidlMemory, index)); EXPECT_OK(cryptoPlugin->setSharedBufferBase(hidlMemory, index)); return mappedMemory; return mappedMemory; } } Loading drm/1.0/vts/functional/drm_hal_vendor_test.cpp +11 −11 Original line number Original line Diff line number Diff line Loading @@ -113,7 +113,7 @@ class DrmHalVendorFactoryTest : public testing::TestWithParam<std::string> { test_info->test_case_name(), test_info->name(), test_info->test_case_name(), test_info->name(), GetParam().c_str()); GetParam().c_str()); ASSERT_NE(vendorModule, nullptr); ASSERT_NE(nullptr, vendorModule.get()); // First try the binderized service name provided by the vendor module. // First try the binderized service name provided by the vendor module. // If that fails, which it can on non-binderized devices, try the default // If that fails, which it can on non-binderized devices, try the default Loading @@ -123,14 +123,14 @@ class DrmHalVendorFactoryTest : public testing::TestWithParam<std::string> { if (drmFactory == nullptr) { if (drmFactory == nullptr) { drmFactory = VtsTestBase::getService<IDrmFactory>(); drmFactory = VtsTestBase::getService<IDrmFactory>(); } } ASSERT_NE(drmFactory, nullptr); ASSERT_NE(nullptr, drmFactory.get()); // Do the same for the crypto factory // Do the same for the crypto factory cryptoFactory = VtsTestBase::getService<ICryptoFactory>(name); cryptoFactory = VtsTestBase::getService<ICryptoFactory>(name); if (cryptoFactory == nullptr) { if (cryptoFactory == nullptr) { cryptoFactory = VtsTestBase::getService<ICryptoFactory>(); cryptoFactory = VtsTestBase::getService<ICryptoFactory>(); } } ASSERT_NE(cryptoFactory, nullptr); ASSERT_NE(nullptr, cryptoFactory.get()); // If drm scheme not installed skip subsequent tests // If drm scheme not installed skip subsequent tests if (!drmFactory->isCryptoSchemeSupported(getVendorUUID())) { if (!drmFactory->isCryptoSchemeSupported(getVendorUUID())) { Loading Loading @@ -239,7 +239,7 @@ TEST_P(DrmHalVendorFactoryTest, CreateVendorDrmPlugin) { getVendorUUID(), packageName, getVendorUUID(), packageName, [&](Status status, const sp<IDrmPlugin>& plugin) { [&](Status status, const sp<IDrmPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); EXPECT_NE(plugin, nullptr); EXPECT_NE(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -254,7 +254,7 @@ TEST_P(DrmHalVendorFactoryTest, CreateVendorCryptoPlugin) { getVendorUUID(), initVec, getVendorUUID(), initVec, [&](Status status, const sp<ICryptoPlugin>& plugin) { [&](Status status, const sp<ICryptoPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); EXPECT_NE(plugin, nullptr); EXPECT_NE(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -269,7 +269,7 @@ TEST_P(DrmHalVendorFactoryTest, CreateInvalidDrmPlugin) { kInvalidUUID, packageName, kInvalidUUID, packageName, [&](Status status, const sp<IDrmPlugin>& plugin) { [&](Status status, const sp<IDrmPlugin>& plugin) { EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(plugin, nullptr); EXPECT_EQ(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -284,7 +284,7 @@ TEST_P(DrmHalVendorFactoryTest, CreateInvalidCryptoPlugin) { kInvalidUUID, initVec, kInvalidUUID, initVec, [&](Status status, const sp<ICryptoPlugin>& plugin) { [&](Status status, const sp<ICryptoPlugin>& plugin) { EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(plugin, nullptr); EXPECT_EQ(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -302,7 +302,7 @@ class DrmHalVendorPluginTest : public DrmHalVendorFactoryTest { getVendorUUID(), packageName, getVendorUUID(), packageName, [this](Status status, const sp<IDrmPlugin>& plugin) { [this](Status status, const sp<IDrmPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); ASSERT_NE(plugin, nullptr); ASSERT_NE(nullptr, plugin.get()); drmPlugin = plugin; drmPlugin = plugin; }); }); ASSERT_OK(res); ASSERT_OK(res); Loading @@ -312,7 +312,7 @@ class DrmHalVendorPluginTest : public DrmHalVendorFactoryTest { getVendorUUID(), initVec, getVendorUUID(), initVec, [this](Status status, const sp<ICryptoPlugin>& plugin) { [this](Status status, const sp<ICryptoPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); ASSERT_NE(plugin, nullptr); ASSERT_NE(nullptr, plugin.get()); cryptoPlugin = plugin; cryptoPlugin = plugin; }); }); ASSERT_OK(res); ASSERT_OK(res); Loading Loading @@ -1185,7 +1185,7 @@ TEST_P(DrmHalVendorPluginTest, NotifyResolution) { sp<IMemory> DrmHalVendorPluginTest::getDecryptMemory(size_t size, sp<IMemory> DrmHalVendorPluginTest::getDecryptMemory(size_t size, size_t index) { size_t index) { sp<IAllocator> ashmemAllocator = IAllocator::getService("ashmem"); sp<IAllocator> ashmemAllocator = IAllocator::getService("ashmem"); EXPECT_NE(ashmemAllocator, nullptr); EXPECT_NE(nullptr, ashmemAllocator.get()); hidl_memory hidlMemory; hidl_memory hidlMemory; auto res = ashmemAllocator->allocate( auto res = ashmemAllocator->allocate( Loading @@ -1198,7 +1198,7 @@ sp<IMemory> DrmHalVendorPluginTest::getDecryptMemory(size_t size, EXPECT_OK(res); EXPECT_OK(res); sp<IMemory> mappedMemory = mapMemory(hidlMemory); sp<IMemory> mappedMemory = mapMemory(hidlMemory); EXPECT_NE(mappedMemory, nullptr); EXPECT_NE(nullptr, mappedMemory.get()); res = cryptoPlugin->setSharedBufferBase(hidlMemory, index); res = cryptoPlugin->setSharedBufferBase(hidlMemory, index); EXPECT_OK(res); EXPECT_OK(res); return mappedMemory; return mappedMemory; Loading Loading
drm/1.0/default/CryptoPlugin.cpp +14 −1 Original line number Original line Diff line number Diff line Loading @@ -51,7 +51,11 @@ namespace implementation { Return<void> CryptoPlugin::setSharedBufferBase(const hidl_memory& base, Return<void> CryptoPlugin::setSharedBufferBase(const hidl_memory& base, uint32_t bufferId) { uint32_t bufferId) { mSharedBufferMap[bufferId] = mapMemory(base); sp<IMemory> hidlMemory = mapMemory(base); ALOGE_IF(hidlMemory == nullptr, "mapMemory returns nullptr"); // allow mapMemory to return nullptr mSharedBufferMap[bufferId] = hidlMemory; return Void(); return Void(); } } Loading Loading @@ -107,6 +111,10 @@ namespace implementation { AString detailMessage; AString detailMessage; sp<IMemory> sourceBase = mSharedBufferMap[source.bufferId]; sp<IMemory> sourceBase = mSharedBufferMap[source.bufferId]; if (sourceBase == nullptr) { _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "source is a nullptr"); return Void(); } if (source.offset + offset + source.size > sourceBase->getSize()) { if (source.offset + offset + source.size > sourceBase->getSize()) { _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "invalid buffer size"); _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "invalid buffer size"); Loading @@ -121,6 +129,11 @@ namespace implementation { if (destination.type == BufferType::SHARED_MEMORY) { if (destination.type == BufferType::SHARED_MEMORY) { const SharedBuffer& destBuffer = destination.nonsecureMemory; const SharedBuffer& destBuffer = destination.nonsecureMemory; sp<IMemory> destBase = mSharedBufferMap[destBuffer.bufferId]; sp<IMemory> destBase = mSharedBufferMap[destBuffer.bufferId]; if (destBase == nullptr) { _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "destination is a nullptr"); return Void(); } if (destBuffer.offset + destBuffer.size > destBase->getSize()) { if (destBuffer.offset + destBuffer.size > destBase->getSize()) { _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "invalid buffer size"); _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "invalid buffer size"); return Void(); return Void(); Loading
drm/1.0/vts/functional/drm_hal_clearkey_test.cpp +11 −10 Original line number Original line Diff line number Diff line Loading @@ -94,10 +94,10 @@ class DrmHalClearkeyFactoryTest : public ::testing::VtsHalHidlTargetTestBase { drmFactory = drmFactory = ::testing::VtsHalHidlTargetTestBase::getService<IDrmFactory>(); ::testing::VtsHalHidlTargetTestBase::getService<IDrmFactory>(); ASSERT_NE(drmFactory, nullptr); ASSERT_NE(nullptr, drmFactory.get()); cryptoFactory = cryptoFactory = ::testing::VtsHalHidlTargetTestBase::getService<ICryptoFactory>(); ::testing::VtsHalHidlTargetTestBase::getService<ICryptoFactory>(); ASSERT_NE(cryptoFactory, nullptr); ASSERT_NE(nullptr, cryptoFactory.get()); } } virtual void TearDown() override {} virtual void TearDown() override {} Loading Loading @@ -166,7 +166,7 @@ TEST_F(DrmHalClearkeyFactoryTest, CreateClearKeyDrmPlugin) { kClearKeyUUID, packageName, kClearKeyUUID, packageName, [&](Status status, const sp<IDrmPlugin>& plugin) { [&](Status status, const sp<IDrmPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); EXPECT_NE(plugin, nullptr); EXPECT_NE(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -180,7 +180,7 @@ TEST_F(DrmHalClearkeyFactoryTest, CreateClearKeyCryptoPlugin) { kClearKeyUUID, initVec, kClearKeyUUID, initVec, [&](Status status, const sp<ICryptoPlugin>& plugin) { [&](Status status, const sp<ICryptoPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); EXPECT_NE(plugin, nullptr); EXPECT_NE(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -194,7 +194,7 @@ TEST_F(DrmHalClearkeyFactoryTest, CreateInvalidDrmPlugin) { kInvalidUUID, packageName, kInvalidUUID, packageName, [&](Status status, const sp<IDrmPlugin>& plugin) { [&](Status status, const sp<IDrmPlugin>& plugin) { EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(plugin, nullptr); EXPECT_EQ(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -208,7 +208,7 @@ TEST_F(DrmHalClearkeyFactoryTest, CreateInvalidCryptoPlugin) { kInvalidUUID, initVec, kInvalidUUID, initVec, [&](Status status, const sp<ICryptoPlugin>& plugin) { [&](Status status, const sp<ICryptoPlugin>& plugin) { EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(plugin, nullptr); EXPECT_EQ(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -219,13 +219,13 @@ class DrmHalClearkeyPluginTest : public DrmHalClearkeyFactoryTest { // Create factories // Create factories DrmHalClearkeyFactoryTest::SetUp(); DrmHalClearkeyFactoryTest::SetUp(); ASSERT_NE(drmFactory, nullptr); ASSERT_NE(nullptr, drmFactory.get()); hidl_string packageName("android.hardware.drm.test"); hidl_string packageName("android.hardware.drm.test"); auto res = drmFactory->createPlugin( auto res = drmFactory->createPlugin( kClearKeyUUID, packageName, kClearKeyUUID, packageName, [this](Status status, const sp<IDrmPlugin>& plugin) { [this](Status status, const sp<IDrmPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); ASSERT_NE(plugin, nullptr); ASSERT_NE(nullptr, plugin.get()); drmPlugin = plugin; drmPlugin = plugin; }); }); ASSERT_OK(res); ASSERT_OK(res); Loading @@ -235,7 +235,7 @@ class DrmHalClearkeyPluginTest : public DrmHalClearkeyFactoryTest { kClearKeyUUID, initVec, kClearKeyUUID, initVec, [this](Status status, const sp<ICryptoPlugin>& plugin) { [this](Status status, const sp<ICryptoPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); ASSERT_NE(plugin, nullptr); ASSERT_NE(nullptr, plugin.get()); cryptoPlugin = plugin; cryptoPlugin = plugin; }); }); ASSERT_OK(res); ASSERT_OK(res); Loading Loading @@ -866,7 +866,7 @@ TEST_F(DrmHalClearkeyPluginTest, NotifyResolution) { sp<IMemory> DrmHalClearkeyPluginTest::getDecryptMemory(size_t size, sp<IMemory> DrmHalClearkeyPluginTest::getDecryptMemory(size_t size, size_t index) { size_t index) { sp<IAllocator> ashmemAllocator = IAllocator::getService("ashmem"); sp<IAllocator> ashmemAllocator = IAllocator::getService("ashmem"); EXPECT_NE(ashmemAllocator, nullptr); EXPECT_NE(nullptr, ashmemAllocator.get()); hidl_memory hidlMemory; hidl_memory hidlMemory; auto res = ashmemAllocator->allocate( auto res = ashmemAllocator->allocate( Loading @@ -878,6 +878,7 @@ sp<IMemory> DrmHalClearkeyPluginTest::getDecryptMemory(size_t size, EXPECT_OK(res); EXPECT_OK(res); sp<IMemory> mappedMemory = mapMemory(hidlMemory); sp<IMemory> mappedMemory = mapMemory(hidlMemory); EXPECT_NE(nullptr, mappedMemory.get()); EXPECT_OK(cryptoPlugin->setSharedBufferBase(hidlMemory, index)); EXPECT_OK(cryptoPlugin->setSharedBufferBase(hidlMemory, index)); return mappedMemory; return mappedMemory; } } Loading
drm/1.0/vts/functional/drm_hal_vendor_test.cpp +11 −11 Original line number Original line Diff line number Diff line Loading @@ -113,7 +113,7 @@ class DrmHalVendorFactoryTest : public testing::TestWithParam<std::string> { test_info->test_case_name(), test_info->name(), test_info->test_case_name(), test_info->name(), GetParam().c_str()); GetParam().c_str()); ASSERT_NE(vendorModule, nullptr); ASSERT_NE(nullptr, vendorModule.get()); // First try the binderized service name provided by the vendor module. // First try the binderized service name provided by the vendor module. // If that fails, which it can on non-binderized devices, try the default // If that fails, which it can on non-binderized devices, try the default Loading @@ -123,14 +123,14 @@ class DrmHalVendorFactoryTest : public testing::TestWithParam<std::string> { if (drmFactory == nullptr) { if (drmFactory == nullptr) { drmFactory = VtsTestBase::getService<IDrmFactory>(); drmFactory = VtsTestBase::getService<IDrmFactory>(); } } ASSERT_NE(drmFactory, nullptr); ASSERT_NE(nullptr, drmFactory.get()); // Do the same for the crypto factory // Do the same for the crypto factory cryptoFactory = VtsTestBase::getService<ICryptoFactory>(name); cryptoFactory = VtsTestBase::getService<ICryptoFactory>(name); if (cryptoFactory == nullptr) { if (cryptoFactory == nullptr) { cryptoFactory = VtsTestBase::getService<ICryptoFactory>(); cryptoFactory = VtsTestBase::getService<ICryptoFactory>(); } } ASSERT_NE(cryptoFactory, nullptr); ASSERT_NE(nullptr, cryptoFactory.get()); // If drm scheme not installed skip subsequent tests // If drm scheme not installed skip subsequent tests if (!drmFactory->isCryptoSchemeSupported(getVendorUUID())) { if (!drmFactory->isCryptoSchemeSupported(getVendorUUID())) { Loading Loading @@ -239,7 +239,7 @@ TEST_P(DrmHalVendorFactoryTest, CreateVendorDrmPlugin) { getVendorUUID(), packageName, getVendorUUID(), packageName, [&](Status status, const sp<IDrmPlugin>& plugin) { [&](Status status, const sp<IDrmPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); EXPECT_NE(plugin, nullptr); EXPECT_NE(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -254,7 +254,7 @@ TEST_P(DrmHalVendorFactoryTest, CreateVendorCryptoPlugin) { getVendorUUID(), initVec, getVendorUUID(), initVec, [&](Status status, const sp<ICryptoPlugin>& plugin) { [&](Status status, const sp<ICryptoPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); EXPECT_NE(plugin, nullptr); EXPECT_NE(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -269,7 +269,7 @@ TEST_P(DrmHalVendorFactoryTest, CreateInvalidDrmPlugin) { kInvalidUUID, packageName, kInvalidUUID, packageName, [&](Status status, const sp<IDrmPlugin>& plugin) { [&](Status status, const sp<IDrmPlugin>& plugin) { EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(plugin, nullptr); EXPECT_EQ(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -284,7 +284,7 @@ TEST_P(DrmHalVendorFactoryTest, CreateInvalidCryptoPlugin) { kInvalidUUID, initVec, kInvalidUUID, initVec, [&](Status status, const sp<ICryptoPlugin>& plugin) { [&](Status status, const sp<ICryptoPlugin>& plugin) { EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); EXPECT_EQ(plugin, nullptr); EXPECT_EQ(nullptr, plugin.get()); }); }); EXPECT_OK(res); EXPECT_OK(res); } } Loading @@ -302,7 +302,7 @@ class DrmHalVendorPluginTest : public DrmHalVendorFactoryTest { getVendorUUID(), packageName, getVendorUUID(), packageName, [this](Status status, const sp<IDrmPlugin>& plugin) { [this](Status status, const sp<IDrmPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); ASSERT_NE(plugin, nullptr); ASSERT_NE(nullptr, plugin.get()); drmPlugin = plugin; drmPlugin = plugin; }); }); ASSERT_OK(res); ASSERT_OK(res); Loading @@ -312,7 +312,7 @@ class DrmHalVendorPluginTest : public DrmHalVendorFactoryTest { getVendorUUID(), initVec, getVendorUUID(), initVec, [this](Status status, const sp<ICryptoPlugin>& plugin) { [this](Status status, const sp<ICryptoPlugin>& plugin) { EXPECT_EQ(Status::OK, status); EXPECT_EQ(Status::OK, status); ASSERT_NE(plugin, nullptr); ASSERT_NE(nullptr, plugin.get()); cryptoPlugin = plugin; cryptoPlugin = plugin; }); }); ASSERT_OK(res); ASSERT_OK(res); Loading Loading @@ -1185,7 +1185,7 @@ TEST_P(DrmHalVendorPluginTest, NotifyResolution) { sp<IMemory> DrmHalVendorPluginTest::getDecryptMemory(size_t size, sp<IMemory> DrmHalVendorPluginTest::getDecryptMemory(size_t size, size_t index) { size_t index) { sp<IAllocator> ashmemAllocator = IAllocator::getService("ashmem"); sp<IAllocator> ashmemAllocator = IAllocator::getService("ashmem"); EXPECT_NE(ashmemAllocator, nullptr); EXPECT_NE(nullptr, ashmemAllocator.get()); hidl_memory hidlMemory; hidl_memory hidlMemory; auto res = ashmemAllocator->allocate( auto res = ashmemAllocator->allocate( Loading @@ -1198,7 +1198,7 @@ sp<IMemory> DrmHalVendorPluginTest::getDecryptMemory(size_t size, EXPECT_OK(res); EXPECT_OK(res); sp<IMemory> mappedMemory = mapMemory(hidlMemory); sp<IMemory> mappedMemory = mapMemory(hidlMemory); EXPECT_NE(mappedMemory, nullptr); EXPECT_NE(nullptr, mappedMemory.get()); res = cryptoPlugin->setSharedBufferBase(hidlMemory, index); res = cryptoPlugin->setSharedBufferBase(hidlMemory, index); EXPECT_OK(res); EXPECT_OK(res); return mappedMemory; return mappedMemory; Loading