summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2011-06-23 16:43:24 -0700
committerGlenn Kasten <gkasten@google.com>2011-11-16 15:25:30 -0800
commita23856c0ad1f49a6ebcb71d3f63f329edc999a72 (patch)
treec96689b2bdef3ce5fba019ad773d997e56c29ac1
parent5c052218128013d630b4d9a84393ebfbff11f3e8 (diff)
downloadframeworks_av-a23856c0ad1f49a6ebcb71d3f63f329edc999a72.zip
frameworks_av-a23856c0ad1f49a6ebcb71d3f63f329edc999a72.tar.gz
frameworks_av-a23856c0ad1f49a6ebcb71d3f63f329edc999a72.tar.bz2
JetPlayer uses C++ Thread not createThreadEtc
This permits leveraging future improvements to Thread. Change-Id: I60deed8565ed54f13d9f770c76504e411b154276
-rw-r--r--include/media/JetPlayer.h23
-rw-r--r--media/libmedia/JetPlayer.cpp9
2 files changed, 24 insertions, 8 deletions
diff --git a/include/media/JetPlayer.h b/include/media/JetPlayer.h
index 16764a9..6d53989 100644
--- a/include/media/JetPlayer.h
+++ b/include/media/JetPlayer.h
@@ -65,7 +65,6 @@ public:
private:
- static int renderThread(void*);
int render();
void fireUpdateOnStatusChange();
void fireEventsFromJetQueue();
@@ -97,6 +96,28 @@ private:
char mJetFilePath[256];
+ class JetPlayerThread : public Thread {
+ public:
+ JetPlayerThread(JetPlayer *player) : mPlayer(player) {
+ }
+
+ protected:
+ virtual ~JetPlayerThread() {}
+
+ private:
+ JetPlayer *mPlayer;
+
+ bool threadLoop() {
+ int result;
+ result = mPlayer->render();
+ return false;
+ }
+
+ JetPlayerThread(const JetPlayerThread &);
+ JetPlayerThread &operator=(const JetPlayerThread &);
+ };
+
+ sp<JetPlayerThread> mThread;
}; // end class JetPlayer
diff --git a/media/libmedia/JetPlayer.cpp b/media/libmedia/JetPlayer.cpp
index 3d94b49..afa84b7 100644
--- a/media/libmedia/JetPlayer.cpp
+++ b/media/libmedia/JetPlayer.cpp
@@ -100,7 +100,8 @@ int JetPlayer::init()
{
Mutex::Autolock l(mMutex);
ALOGV("JetPlayer::init(): trying to start render thread");
- createThreadEtc(renderThread, this, "jetRenderThread", ANDROID_PRIORITY_AUDIO);
+ mThread = new JetPlayerThread(this);
+ mThread->run("jetRenderThread", ANDROID_PRIORITY_AUDIO);
mCondition.wait(mMutex);
}
if (mTid > 0) {
@@ -156,12 +157,6 @@ int JetPlayer::release()
//-------------------------------------------------------------------------------------------------
-int JetPlayer::renderThread(void* p) {
-
- return ((JetPlayer*)p)->render();
-}
-
-//-------------------------------------------------------------------------------------------------
int JetPlayer::render() {
EAS_RESULT result = EAS_FAILURE;
EAS_I32 count;