From a23856c0ad1f49a6ebcb71d3f63f329edc999a72 Mon Sep 17 00:00:00 2001 From: Glenn Kasten Date: Thu, 23 Jun 2011 16:43:24 -0700 Subject: JetPlayer uses C++ Thread not createThreadEtc This permits leveraging future improvements to Thread. Change-Id: I60deed8565ed54f13d9f770c76504e411b154276 --- include/media/JetPlayer.h | 23 ++++++++++++++++++++++- media/libmedia/JetPlayer.cpp | 9 ++------- 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 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; -- cgit v1.1