diff options
author | Andreas Huber <andih@google.com> | 2010-07-02 08:00:52 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2010-07-02 08:00:52 -0700 |
commit | 4f104d99d8657fd3fef675eb2a3e84ba9f5870e4 (patch) | |
tree | 05d4404abb8b55dbd7e2af313c9ddb21c6855b73 | |
parent | a2dd4c17bbe47876b909b09f54505deda379d2b4 (diff) | |
download | frameworks_base-4f104d99d8657fd3fef675eb2a3e84ba9f5870e4.zip frameworks_base-4f104d99d8657fd3fef675eb2a3e84ba9f5870e4.tar.gz frameworks_base-4f104d99d8657fd3fef675eb2a3e84ba9f5870e4.tar.bz2 |
Add an option to ALooper::start that allows it to call back into java or not.
Change-Id: Iec172901a04a575d8d350bd162565f04677c3f26
-rw-r--r-- | include/media/stagefright/foundation/ALooper.h | 5 | ||||
-rw-r--r-- | media/libstagefright/foundation/ALooper.cpp | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/include/media/stagefright/foundation/ALooper.h b/include/media/stagefright/foundation/ALooper.h index 69ad837..194f1fc 100644 --- a/include/media/stagefright/foundation/ALooper.h +++ b/include/media/stagefright/foundation/ALooper.h @@ -39,7 +39,10 @@ struct ALooper : public RefBase { handler_id registerHandler(const sp<AHandler> &handler); void unregisterHandler(handler_id handlerID); - status_t start(bool runOnCallingThread = false); + status_t start( + bool runOnCallingThread = false, + bool canCallJava = false); + status_t stop(); static int64_t GetNowUs(); diff --git a/media/libstagefright/foundation/ALooper.cpp b/media/libstagefright/foundation/ALooper.cpp index 831fa2a..cd4f349 100644 --- a/media/libstagefright/foundation/ALooper.cpp +++ b/media/libstagefright/foundation/ALooper.cpp @@ -31,8 +31,9 @@ namespace android { ALooperRoster gLooperRoster; struct ALooper::LooperThread : public Thread { - LooperThread(ALooper *looper) - : mLooper(looper) { + LooperThread(ALooper *looper, bool canCallJava) + : Thread(canCallJava), + mLooper(looper) { } virtual bool threadLoop() { @@ -72,7 +73,7 @@ void ALooper::unregisterHandler(handler_id handlerID) { gLooperRoster.unregisterHandler(handlerID); } -status_t ALooper::start(bool runOnCallingThread) { +status_t ALooper::start(bool runOnCallingThread, bool canCallJava) { if (runOnCallingThread) { { Mutex::Autolock autoLock(mLock); @@ -96,7 +97,7 @@ status_t ALooper::start(bool runOnCallingThread) { return INVALID_OPERATION; } - mThread = new LooperThread(this); + mThread = new LooperThread(this, canCallJava); status_t err = mThread->run("ALooper"); if (err != OK) { |