From 9cf69e0fc110f17c28e988ed0f9bf91abfaf710d Mon Sep 17 00:00:00 2001 From: Jeff Tinker Date: Wed, 21 Aug 2013 11:59:23 -0700 Subject: Add ability to test supported content types to MediaDrm bug: 10244066 Change-Id: I317f05b146db962c271893f6208890a5a6c396f1 --- media/libmediaplayerservice/Drm.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'media/libmediaplayerservice/Drm.cpp') diff --git a/media/libmediaplayerservice/Drm.cpp b/media/libmediaplayerservice/Drm.cpp index f00f488..4b527d0 100644 --- a/media/libmediaplayerservice/Drm.cpp +++ b/media/libmediaplayerservice/Drm.cpp @@ -211,15 +211,18 @@ bool Drm::loadLibraryForScheme(const String8 &path, const uint8_t uuid[16]) { return true; } -bool Drm::isCryptoSchemeSupported(const uint8_t uuid[16]) { +bool Drm::isCryptoSchemeSupported(const uint8_t uuid[16], const String8 &mimeType) { + Mutex::Autolock autoLock(mLock); - if (mFactory && mFactory->isCryptoSchemeSupported(uuid)) { - return true; + if (!mFactory || !mFactory->isCryptoSchemeSupported(uuid)) { + findFactoryForScheme(uuid); + if (mInitCheck != OK) { + return false; + } } - findFactoryForScheme(uuid); - return (mInitCheck == OK); + return mFactory->isContentTypeSupported(mimeType); } status_t Drm::createPlugin(const uint8_t uuid[16]) { -- cgit v1.1