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

Commit c182e36c authored by Eric Laurent's avatar Eric Laurent Committed by Android Git Automerger
Browse files

am 2a0d685e: Merge "MediaPlayerService: fix AudioSink latency" into ics-mr1

* commit '2a0d685e':
  MediaPlayerService: fix AudioSink latency
parents 0615baff 2a0d685e
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -325,7 +325,7 @@ status_t MediaPlayerService::AudioOutput::dump(int fd, const Vector<String16>& a
            mStreamType, mLeftVolume, mRightVolume);
    result.append(buffer);
    snprintf(buffer, 255, "  msec per frame(%f), latency (%d)\n",
            mMsecsPerFrame, mLatency);
            mMsecsPerFrame, (mTrack != 0) ? mTrack->latency() : -1);
    result.append(buffer);
    snprintf(buffer, 255, "  aux effect id(%d), send level (%f)\n",
            mAuxEffectId, mSendLevel);
@@ -1372,7 +1372,6 @@ MediaPlayerService::AudioOutput::AudioOutput(int sessionId)
    mStreamType = AUDIO_STREAM_MUSIC;
    mLeftVolume = 1.0;
    mRightVolume = 1.0;
    mLatency = 0;
    mMsecsPerFrame = 0;
    mAuxEffectId = 0;
    mSendLevel = 0.0;
@@ -1431,7 +1430,8 @@ ssize_t MediaPlayerService::AudioOutput::frameSize() const

uint32_t MediaPlayerService::AudioOutput::latency () const
{
    return mLatency;
    if (mTrack == 0) return 0;
    return mTrack->latency();
}

float MediaPlayerService::AudioOutput::msecsPerFrame() const
@@ -1510,7 +1510,6 @@ status_t MediaPlayerService::AudioOutput::open(
    t->setVolume(mLeftVolume, mRightVolume);

    mMsecsPerFrame = 1.e3 / (float) sampleRate;
    mLatency = t->latency();
    mTrack = t;

    t->setAuxEffectSendLevel(mSendLevel);
+0 −1
Original line number Diff line number Diff line
@@ -114,7 +114,6 @@ class MediaPlayerService : public BnMediaPlayerService
        float                   mLeftVolume;
        float                   mRightVolume;
        float                   mMsecsPerFrame;
        uint32_t                mLatency;
        int                     mSessionId;
        float                   mSendLevel;
        int                     mAuxEffectId;
+6 −0
Original line number Diff line number Diff line
@@ -408,6 +408,12 @@ size_t AudioPlayer::fillBuffer(void *data, size_t size) {
                break;
            }

            if (mAudioSink != NULL) {
                mLatencyUs = (int64_t)mAudioSink->latency() * 1000;
            } else {
                mLatencyUs = (int64_t)mAudioTrack->latency() * 1000;
            }

            CHECK(mInputBuffer->meta_data()->findInt64(
                        kKeyTime, &mPositionTimeMediaUs));