Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df992ac9 authored by Andreas Huber's avatar Andreas Huber Committed by Android (Google) Code Review
Browse files

Merge "ALoopers can now be named (useful to distinguish threads)." into gingerbread

parents 6726d6bb c4e0b70a
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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;
+2 −0
Original line number Diff line number Diff line
@@ -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);
+1 −0
Original line number Diff line number Diff line
@@ -180,6 +180,7 @@ NuCachedSource2::NuCachedSource2(const sp<DataSource> &source)
      mLastAccessPos(0),
      mFetching(true),
      mLastFetchTimeUs(-1) {
    mLooper->setName("NuCachedSource2");
    mLooper->registerHandler(mReflector);
    mLooper->start();

+6 −1
Original line number Diff line number Diff line
@@ -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();
    }
+1 −0
Original line number Diff line number Diff line
@@ -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();

Loading