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

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

Merge "Properly report that we're no longer playing after receiving event" into ics-mr1

parents 26262039 a4af2143
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -796,7 +796,7 @@ void NuPlayer::notifyListener(int msg, int ext1, int ext2) {
        return;
    }

    driver->sendEvent(msg, ext1, ext2);
    driver->notifyListener(msg, ext1, ext2);
}

void NuPlayer::flushDecoder(bool audio, bool needShutdown) {
+14 −3
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ NuPlayerDriver::NuPlayerDriver()
      mNumFramesDropped(0),
      mLooper(new ALooper),
      mState(UNINITIALIZED),
      mAtEOS(false),
      mStartupSeekTimeUs(-1) {
    mLooper->setName("NuPlayerDriver Looper");

@@ -106,7 +107,7 @@ status_t NuPlayerDriver::prepare() {
}

status_t NuPlayerDriver::prepareAsync() {
    sendEvent(MEDIA_PREPARED);
    notifyListener(MEDIA_PREPARED);

    return OK;
}
@@ -117,6 +118,7 @@ status_t NuPlayerDriver::start() {
            return INVALID_OPERATION;
        case STOPPED:
        {
            mAtEOS = false;
            mPlayer->start();

            if (mStartupSeekTimeUs >= 0) {
@@ -173,7 +175,7 @@ status_t NuPlayerDriver::pause() {
}

bool NuPlayerDriver::isPlaying() {
    return mState == PLAYING;
    return mState == PLAYING && !mAtEOS;
}

status_t NuPlayerDriver::seekTo(int msec) {
@@ -190,6 +192,7 @@ status_t NuPlayerDriver::seekTo(int msec) {
        case PLAYING:
        case PAUSED:
        {
            mAtEOS = false;
            mPlayer->seekToAsync(seekTimeUs);
            break;
        }
@@ -291,7 +294,7 @@ void NuPlayerDriver::notifyPosition(int64_t positionUs) {
}

void NuPlayerDriver::notifySeekComplete() {
    sendEvent(MEDIA_SEEK_COMPLETE);
    notifyListener(MEDIA_SEEK_COMPLETE);
}

void NuPlayerDriver::notifyFrameStats(
@@ -320,4 +323,12 @@ status_t NuPlayerDriver::dump(int fd, const Vector<String16> &args) const {
    return OK;
}

void NuPlayerDriver::notifyListener(int msg, int ext1, int ext2) {
    if (msg == MEDIA_PLAYBACK_COMPLETE || msg == MEDIA_ERROR) {
        mAtEOS = true;
    }

    sendEvent(msg, ext1, ext2);
}

}  // namespace android
+2 −0
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ struct NuPlayerDriver : public MediaPlayerInterface {
    void notifyPosition(int64_t positionUs);
    void notifySeekComplete();
    void notifyFrameStats(int64_t numFramesTotal, int64_t numFramesDropped);
    void notifyListener(int msg, int ext1 = 0, int ext2 = 0);

protected:
    virtual ~NuPlayerDriver();
@@ -95,6 +96,7 @@ private:
    };

    State mState;
    bool mAtEOS;

    int64_t mStartupSeekTimeUs;