summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/MetadataRetrieverClient.cpp
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2015-06-12 15:31:23 -0700
committerMarco Nelissen <marcone@google.com>2015-06-12 15:31:23 -0700
commit6155085b781a81af66d42d907c9f4d1063999594 (patch)
tree8296eeaa60734e6f5711b1487aa793fa5eef0a99 /media/libmediaplayerservice/MetadataRetrieverClient.cpp
parentad9ef61e770c0751a9983aa5c9844dfeb9ed665b (diff)
downloadframeworks_av-6155085b781a81af66d42d907c9f4d1063999594.zip
frameworks_av-6155085b781a81af66d42d907c9f4d1063999594.tar.gz
frameworks_av-6155085b781a81af66d42d907c9f4d1063999594.tar.bz2
Serialize calls to getFrameAtTime in the mediaserver
to avoid running out of memory. Bug: 21277449 Change-Id: I7210806a24958f38d86aadab0310fc263e4c0edf
Diffstat (limited to 'media/libmediaplayerservice/MetadataRetrieverClient.cpp')
-rw-r--r--media/libmediaplayerservice/MetadataRetrieverClient.cpp3
1 files changed, 3 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");