summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Tinker <jtinker@google.com>2015-04-22 15:58:16 -0700
committerJeff Tinker <jtinker@google.com>2015-04-22 15:58:16 -0700
commit2fb561a6fe9bca79c50a81e90fc4bb4eb18af0be (patch)
tree85257151d1a091df6ead1e6b1ca44ebffe1ac342
parent983f2e02b342ef3ac4004471cbfd4cd8d5aecf7d (diff)
downloadframeworks_av-2fb561a6fe9bca79c50a81e90fc4bb4eb18af0be.zip
frameworks_av-2fb561a6fe9bca79c50a81e90fc4bb4eb18af0be.tar.gz
frameworks_av-2fb561a6fe9bca79c50a81e90fc4bb4eb18af0be.tar.bz2
Lock drm plugin API calls globally, not per MediaDrm instance
Change-Id: I062c662a440a1becccd248c3b8ddf711c51e53cc related-to-bug: 18394494 related-to-bug: 19664283
-rw-r--r--media/libmediaplayerservice/Drm.cpp1
-rw-r--r--media/libmediaplayerservice/Drm.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/Drm.cpp b/media/libmediaplayerservice/Drm.cpp
index 8ca8769..d55482d 100644
--- a/media/libmediaplayerservice/Drm.cpp
+++ b/media/libmediaplayerservice/Drm.cpp
@@ -52,6 +52,7 @@ static bool checkPermission(const char* permissionString) {
KeyedVector<Vector<uint8_t>, String8> Drm::mUUIDToLibraryPathMap;
KeyedVector<String8, wp<SharedLibrary> > Drm::mLibraryPathToOpenLibraryMap;
Mutex Drm::mMapLock;
+Mutex Drm::mLock;
static bool operator<(const Vector<uint8_t> &lhs, const Vector<uint8_t> &rhs) {
if (lhs.size() < rhs.size()) {
diff --git a/media/libmediaplayerservice/Drm.h b/media/libmediaplayerservice/Drm.h
index c4013b8..056723c 100644
--- a/media/libmediaplayerservice/Drm.h
+++ b/media/libmediaplayerservice/Drm.h
@@ -143,7 +143,7 @@ struct Drm : public BnDrm,
virtual void binderDied(const wp<IBinder> &the_late_who);
private:
- mutable Mutex mLock;
+ static Mutex mLock;
status_t mInitCheck;