diff options
author | Dave Sparks <davidsparks@android.com> | 2009-11-23 16:51:15 -0800 |
---|---|---|
committer | Dave Sparks <davidsparks@android.com> | 2009-11-23 16:51:15 -0800 |
commit | ec4dde75955f87e5afea3f59ef991130257f3f3a (patch) | |
tree | 68bdeed14853f8f8a2678acb2b875487e7af706a /media/libmediaplayerservice/MetadataRetrieverClient.cpp | |
parent | 4ddf30b2b118068d82bb37858186d668eddbbe6d (diff) | |
download | frameworks_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.cpp | 14 |
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 |