diff options
| author | 2010-08-30 10:28:24 -0700 | |
|---|---|---|
| committer | 2010-08-30 10:28:24 -0700 | |
| commit | df992ac9cc54cedb3e384617ed683a2d1a24d38b (patch) | |
| tree | a4583c810f9d5464816365acaee51d891cc5b2f7 | |
| parent | 6726d6bb1a30167786864c445cbe0370ee0dd58c (diff) | |
| parent | c4e0b70a21fadb47d70955c71fc31ce1473da925 (diff) | |
Merge "ALoopers can now be named (useful to distinguish threads)." into gingerbread
| -rw-r--r-- | include/media/stagefright/foundation/ALooper.h | 6 | ||||
| -rw-r--r-- | media/libstagefright/AwesomePlayer.cpp | 2 | ||||
| -rw-r--r-- | media/libstagefright/NuCachedSource2.cpp | 1 | ||||
| -rw-r--r-- | media/libstagefright/foundation/ALooper.cpp | 7 | ||||
| -rw-r--r-- | media/libstagefright/rtsp/ARTPWriter.cpp | 1 | ||||
| -rw-r--r-- | media/libstagefright/rtsp/MyHandler.h | 6 |
6 files changed, 19 insertions, 4 deletions
diff --git a/include/media/stagefright/foundation/ALooper.h b/include/media/stagefright/foundation/ALooper.h index 153ead9a4bd7..70e0c5e6b392 100644 --- a/include/media/stagefright/foundation/ALooper.h +++ b/include/media/stagefright/foundation/ALooper.h @@ -19,6 +19,7 @@ #define A_LOOPER_H_ #include <media/stagefright/foundation/ABase.h> +#include <media/stagefright/foundation/AString.h> #include <utils/Errors.h> #include <utils/KeyedVector.h> #include <utils/List.h> @@ -36,6 +37,9 @@ struct ALooper : public RefBase { ALooper(); + // Takes effect in a subsequent call to start(). + void setName(const char *name); + handler_id registerHandler(const sp<AHandler> &handler); void unregisterHandler(handler_id handlerID); @@ -63,6 +67,8 @@ private: Mutex mLock; Condition mQueueChangedCondition; + AString mName; + List<Event> mEventQueue; struct LooperThread; diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp index 7e25e8867f0b..7daac96b0a48 100644 --- a/media/libstagefright/AwesomePlayer.cpp +++ b/media/libstagefright/AwesomePlayer.cpp @@ -1241,6 +1241,7 @@ status_t AwesomePlayer::finishSetDataSource_l() { } else if (!strncmp("rtsp://gtalk/", mUri.string(), 13)) { if (mLooper == NULL) { mLooper = new ALooper; + mLooper->setName("gtalk rtp"); mLooper->start( false /* runOnCallingThread */, false /* canCallJava */, @@ -1352,6 +1353,7 @@ status_t AwesomePlayer::finishSetDataSource_l() { } else if (!strncasecmp("rtsp://", mUri.string(), 7)) { if (mLooper == NULL) { mLooper = new ALooper; + mLooper->setName("rtsp"); mLooper->start(); } mRTSPController = new ARTSPController(mLooper); diff --git a/media/libstagefright/NuCachedSource2.cpp b/media/libstagefright/NuCachedSource2.cpp index c02b7f3c4e7f..9171aab8c42d 100644 --- a/media/libstagefright/NuCachedSource2.cpp +++ b/media/libstagefright/NuCachedSource2.cpp @@ -180,6 +180,7 @@ NuCachedSource2::NuCachedSource2(const sp<DataSource> &source) mLastAccessPos(0), mFetching(true), mLastFetchTimeUs(-1) { + mLooper->setName("NuCachedSource2"); mLooper->registerHandler(mReflector); mLooper->start(); diff --git a/media/libstagefright/foundation/ALooper.cpp b/media/libstagefright/foundation/ALooper.cpp index 77afb010e630..b7087f83df38 100644 --- a/media/libstagefright/foundation/ALooper.cpp +++ b/media/libstagefright/foundation/ALooper.cpp @@ -65,6 +65,10 @@ ALooper::~ALooper() { stop(); } +void ALooper::setName(const char *name) { + mName = name; +} + ALooper::handler_id ALooper::registerHandler(const sp<AHandler> &handler) { return gLooperRoster.registerHandler(this, handler); } @@ -100,7 +104,8 @@ status_t ALooper::start( mThread = new LooperThread(this, canCallJava); - status_t err = mThread->run("ALooper", priority); + status_t err = mThread->run( + mName.empty() ? "ALooper" : mName.c_str(), priority); if (err != OK) { mThread.clear(); } diff --git a/media/libstagefright/rtsp/ARTPWriter.cpp b/media/libstagefright/rtsp/ARTPWriter.cpp index d4eed7ce6efb..ce1ee0e8c358 100644 --- a/media/libstagefright/rtsp/ARTPWriter.cpp +++ b/media/libstagefright/rtsp/ARTPWriter.cpp @@ -31,6 +31,7 @@ ARTPWriter::ARTPWriter(int fd) mReflector(new AHandlerReflector<ARTPWriter>(this)) { CHECK_GE(fd, 0); + mLooper->setName("rtp writer"); mLooper->registerHandler(mReflector); mLooper->start(); diff --git a/media/libstagefright/rtsp/MyHandler.h b/media/libstagefright/rtsp/MyHandler.h index 0685a4732af9..affacc86cb2f 100644 --- a/media/libstagefright/rtsp/MyHandler.h +++ b/media/libstagefright/rtsp/MyHandler.h @@ -76,7 +76,7 @@ struct MyHandler : public AHandler { mFirstAccessUnitNTP(0), mNumAccessUnitsReceived(0), mCheckPending(false) { - + mNetLooper->setName("rtsp net"); mNetLooper->start(false /* runOnCallingThread */, false /* canCallJava */, PRIORITY_HIGHEST); @@ -389,7 +389,7 @@ struct MyHandler : public AHandler { } mNumAccessUnitsReceived = 0; - msg->post(500000); + msg->post(1000000); break; } @@ -400,7 +400,7 @@ struct MyHandler : public AHandler { if (!mCheckPending) { mCheckPending = true; sp<AMessage> check = new AMessage('chek', id()); - check->post(500000); + check->post(1000000); } size_t trackIndex; |