summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2015-06-13 00:15:54 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-13 00:15:55 +0000
commit2b63384b6d338f2c3320818a698c3f9d6221fe5d (patch)
tree9a02c08f0a2913249c16579242b8ce7a2115e106 /media
parentf8f2f137cceebe3bee4ff3219bc75189a4eccc65 (diff)
parent6155085b781a81af66d42d907c9f4d1063999594 (diff)
downloadframeworks_av-2b63384b6d338f2c3320818a698c3f9d6221fe5d.zip
frameworks_av-2b63384b6d338f2c3320818a698c3f9d6221fe5d.tar.gz
frameworks_av-2b63384b6d338f2c3320818a698c3f9d6221fe5d.tar.bz2
Merge "Serialize calls to getFrameAtTime in the mediaserver" into mnc-dev
Diffstat (limited to 'media')
-rw-r--r--media/libmediaplayerservice/MetadataRetrieverClient.cpp3
-rw-r--r--media/libmediaplayerservice/MetadataRetrieverClient.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/MetadataRetrieverClient.cpp b/media/libmediaplayerservice/MetadataRetrieverClient.cpp
index 9a37302..a5a1fa5 100644
--- a/media/libmediaplayerservice/MetadataRetrieverClient.cpp
+++ b/media/libmediaplayerservice/MetadataRetrieverClient.cpp
@@ -191,10 +191,13 @@ status_t MetadataRetrieverClient::setDataSource(
return ret;
}
+Mutex MetadataRetrieverClient::sLock;
+
sp<IMemory> MetadataRetrieverClient::getFrameAtTime(int64_t timeUs, int option)
{
ALOGV("getFrameAtTime: time(%lld us) option(%d)", timeUs, option);
Mutex::Autolock lock(mLock);
+ Mutex::Autolock glock(sLock);
mThumbnail.clear();
if (mRetriever == NULL) {
ALOGE("retriever is not initialized");
diff --git a/media/libmediaplayerservice/MetadataRetrieverClient.h b/media/libmediaplayerservice/MetadataRetrieverClient.h
index e71a29e..fe7547c 100644
--- a/media/libmediaplayerservice/MetadataRetrieverClient.h
+++ b/media/libmediaplayerservice/MetadataRetrieverClient.h
@@ -63,6 +63,7 @@ private:
virtual ~MetadataRetrieverClient();
mutable Mutex mLock;
+ static Mutex sLock;
sp<MediaMetadataRetrieverBase> mRetriever;
pid_t mPid;