summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/MetadataRetrieverClient.cpp
diff options
context:
space:
mode:
authorDave Sparks <davidsparks@android.com>2009-11-23 16:51:15 -0800
committerDave Sparks <davidsparks@android.com>2009-11-23 16:51:15 -0800
commitec4dde75955f87e5afea3f59ef991130257f3f3a (patch)
tree68bdeed14853f8f8a2678acb2b875487e7af706a /media/libmediaplayerservice/MetadataRetrieverClient.cpp
parent4ddf30b2b118068d82bb37858186d668eddbbe6d (diff)
downloadframeworks_av-ec4dde75955f87e5afea3f59ef991130257f3f3a.zip
frameworks_av-ec4dde75955f87e5afea3f59ef991130257f3f3a.tar.gz
frameworks_av-ec4dde75955f87e5afea3f59ef991130257f3f3a.tar.bz2
Set metadata retriever thread group to the caller's group.
This patch modifies the native binder interface to the metadata retriever to pass the caller's thread group across the binder interface. On the server side, the thread scheduler group is set to the caller's scheduler group temporarily and restored after the request has completed. This patch also reverts a previous patch where the priority of the thread was forced to a low priority foreground thread. This should give apps more control over the priority of their metadata retrieval, particularly allow background process to run without hogging the CPU.
Diffstat (limited to 'media/libmediaplayerservice/MetadataRetrieverClient.cpp')
-rw-r--r--media/libmediaplayerservice/MetadataRetrieverClient.cpp14
1 files changed, 0 insertions, 14 deletions
diff --git a/media/libmediaplayerservice/MetadataRetrieverClient.cpp b/media/libmediaplayerservice/MetadataRetrieverClient.cpp
index 2cdc351..d51ce66 100644
--- a/media/libmediaplayerservice/MetadataRetrieverClient.cpp
+++ b/media/libmediaplayerservice/MetadataRetrieverClient.cpp
@@ -237,7 +237,6 @@ sp<IMemory> MetadataRetrieverClient::captureFrame()
{
LOGV("captureFrame");
Mutex::Autolock lock(mLock);
- Priority priority(ANDROID_PRIORITY_BACKGROUND);
mThumbnail.clear();
mThumbnailDealer.clear();
if (mRetriever == NULL) {
@@ -279,7 +278,6 @@ sp<IMemory> MetadataRetrieverClient::extractAlbumArt()
{
LOGV("extractAlbumArt");
Mutex::Autolock lock(mLock);
- Priority priority(ANDROID_PRIORITY_BACKGROUND);
mAlbumArt.clear();
mAlbumArtDealer.clear();
if (mRetriever == NULL) {
@@ -321,19 +319,7 @@ const char* MetadataRetrieverClient::extractMetadata(int keyCode)
LOGE("retriever is not initialized");
return NULL;
}
- Priority priority(ANDROID_PRIORITY_BACKGROUND);
return mRetriever->extractMetadata(keyCode);
}
-MetadataRetrieverClient::Priority::Priority(int newPriority)
-{
- mOldPriority = getpriority(PRIO_PROCESS, 0);
- setpriority(PRIO_PROCESS, 0, newPriority);
-}
-
-MetadataRetrieverClient::Priority::~Priority()
-{
- setpriority(PRIO_PROCESS, 0, mOldPriority);
-}
-
}; // namespace android