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

Commit 631025ee authored by Andreas Huber's avatar Andreas Huber Committed by Android Git Automerger
Browse files

am 6df6d606: am df992ac9: Merge "ALoopers can now be named (useful to...

am 6df6d606: am df992ac9: Merge "ALoopers can now be named (useful to distinguish threads)." into gingerbread

Merge commit '6df6d606'

* commit '6df6d606':
  ALoopers can now be named (useful to distinguish threads).
parents ec959a7e 6df6d606
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -19,6 +19,7 @@
#define A_LOOPER_H_
#define A_LOOPER_H_


#include <media/stagefright/foundation/ABase.h>
#include <media/stagefright/foundation/ABase.h>
#include <media/stagefright/foundation/AString.h>
#include <utils/Errors.h>
#include <utils/Errors.h>
#include <utils/KeyedVector.h>
#include <utils/KeyedVector.h>
#include <utils/List.h>
#include <utils/List.h>
@@ -36,6 +37,9 @@ struct ALooper : public RefBase {


    ALooper();
    ALooper();


    // Takes effect in a subsequent call to start().
    void setName(const char *name);

    handler_id registerHandler(const sp<AHandler> &handler);
    handler_id registerHandler(const sp<AHandler> &handler);
    void unregisterHandler(handler_id handlerID);
    void unregisterHandler(handler_id handlerID);


@@ -63,6 +67,8 @@ private:
    Mutex mLock;
    Mutex mLock;
    Condition mQueueChangedCondition;
    Condition mQueueChangedCondition;


    AString mName;

    List<Event> mEventQueue;
    List<Event> mEventQueue;


    struct LooperThread;
    struct LooperThread;
+2 −0
Original line number Original line Diff line number Diff line
@@ -1263,6 +1263,7 @@ status_t AwesomePlayer::finishSetDataSource_l() {
    } else if (!strncmp("rtsp://gtalk/", mUri.string(), 13)) {
    } else if (!strncmp("rtsp://gtalk/", mUri.string(), 13)) {
        if (mLooper == NULL) {
        if (mLooper == NULL) {
            mLooper = new ALooper;
            mLooper = new ALooper;
            mLooper->setName("gtalk rtp");
            mLooper->start(
            mLooper->start(
                    false /* runOnCallingThread */,
                    false /* runOnCallingThread */,
                    false /* canCallJava */,
                    false /* canCallJava */,
@@ -1374,6 +1375,7 @@ status_t AwesomePlayer::finishSetDataSource_l() {
    } else if (!strncasecmp("rtsp://", mUri.string(), 7)) {
    } else if (!strncasecmp("rtsp://", mUri.string(), 7)) {
        if (mLooper == NULL) {
        if (mLooper == NULL) {
            mLooper = new ALooper;
            mLooper = new ALooper;
            mLooper->setName("rtsp");
            mLooper->start();
            mLooper->start();
        }
        }
        mRTSPController = new ARTSPController(mLooper);
        mRTSPController = new ARTSPController(mLooper);
+1 −0
Original line number Original line Diff line number Diff line
@@ -180,6 +180,7 @@ NuCachedSource2::NuCachedSource2(const sp<DataSource> &source)
      mLastAccessPos(0),
      mLastAccessPos(0),
      mFetching(true),
      mFetching(true),
      mLastFetchTimeUs(-1) {
      mLastFetchTimeUs(-1) {
    mLooper->setName("NuCachedSource2");
    mLooper->registerHandler(mReflector);
    mLooper->registerHandler(mReflector);
    mLooper->start();
    mLooper->start();


+6 −1
Original line number Original line Diff line number Diff line
@@ -65,6 +65,10 @@ ALooper::~ALooper() {
    stop();
    stop();
}
}


void ALooper::setName(const char *name) {
    mName = name;
}

ALooper::handler_id ALooper::registerHandler(const sp<AHandler> &handler) {
ALooper::handler_id ALooper::registerHandler(const sp<AHandler> &handler) {
    return gLooperRoster.registerHandler(this, handler);
    return gLooperRoster.registerHandler(this, handler);
}
}
@@ -100,7 +104,8 @@ status_t ALooper::start(


    mThread = new LooperThread(this, canCallJava);
    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) {
    if (err != OK) {
        mThread.clear();
        mThread.clear();
    }
    }
+1 −0
Original line number Original line Diff line number Diff line
@@ -31,6 +31,7 @@ ARTPWriter::ARTPWriter(int fd)
      mReflector(new AHandlerReflector<ARTPWriter>(this)) {
      mReflector(new AHandlerReflector<ARTPWriter>(this)) {
    CHECK_GE(fd, 0);
    CHECK_GE(fd, 0);


    mLooper->setName("rtp writer");
    mLooper->registerHandler(mReflector);
    mLooper->registerHandler(mReflector);
    mLooper->start();
    mLooper->start();


Loading