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

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

Merge "Audio player must not be used as a timesource before it's started."

parents ab908992 84584471
Loading
Loading
Loading
Loading
+4 −2
Original line number Original line Diff line number Diff line
@@ -20,8 +20,8 @@


#include <binder/IPCThreadState.h>
#include <binder/IPCThreadState.h>
#include <media/AudioTrack.h>
#include <media/AudioTrack.h>
#include <media/stagefright/foundation/ADebug.h>
#include <media/stagefright/AudioPlayer.h>
#include <media/stagefright/AudioPlayer.h>
#include <media/stagefright/MediaDebug.h>
#include <media/stagefright/MediaDefs.h>
#include <media/stagefright/MediaDefs.h>
#include <media/stagefright/MediaErrors.h>
#include <media/stagefright/MediaErrors.h>
#include <media/stagefright/MediaSource.h>
#include <media/stagefright/MediaSource.h>
@@ -60,7 +60,7 @@ AudioPlayer::~AudioPlayer() {
}
}


void AudioPlayer::setSource(const sp<MediaSource> &source) {
void AudioPlayer::setSource(const sp<MediaSource> &source) {
    CHECK_EQ(mSource, NULL);
    CHECK(mSource == NULL);
    mSource = source;
    mSource = source;
}
}


@@ -466,6 +466,8 @@ int64_t AudioPlayer::getRealTimeUs() {
}
}


int64_t AudioPlayer::getRealTimeUsLocked() const {
int64_t AudioPlayer::getRealTimeUsLocked() const {
    CHECK(mStarted);
    CHECK_NE(mSampleRate, 0);
    return -mLatencyUs + (mNumFramesPlayed * 1000000) / mSampleRate;
    return -mLatencyUs + (mNumFramesPlayed * 1000000) / mSampleRate;
}
}


+3 −1
Original line number Original line Diff line number Diff line
@@ -1736,7 +1736,9 @@ void AwesomePlayer::onVideoEvent() {
        modifyFlags(TEXT_RUNNING, SET);
        modifyFlags(TEXT_RUNNING, SET);
    }
    }


    TimeSource *ts = (mFlags & AUDIO_AT_EOS) ? &mSystemTimeSource : mTimeSource;
    TimeSource *ts =
        ((mFlags & AUDIO_AT_EOS) || !(mFlags & AUDIOPLAYER_STARTED))
            ? &mSystemTimeSource : mTimeSource;


    if (mFlags & FIRST_FRAME) {
    if (mFlags & FIRST_FRAME) {
        modifyFlags(FIRST_FRAME, CLEAR);
        modifyFlags(FIRST_FRAME, CLEAR);