diff options
author | Marco Nelissen <marcone@google.com> | 2015-06-12 15:31:23 -0700 |
---|---|---|
committer | Marco Nelissen <marcone@google.com> | 2015-06-12 15:31:23 -0700 |
commit | 6155085b781a81af66d42d907c9f4d1063999594 (patch) | |
tree | 8296eeaa60734e6f5711b1487aa793fa5eef0a99 /media/libmediaplayerservice/MetadataRetrieverClient.cpp | |
parent | ad9ef61e770c0751a9983aa5c9844dfeb9ed665b (diff) | |
download | frameworks_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.cpp | 3 |
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"); |