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

Commit 583892d0 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change Iad79689a into eclair

* changes:
  Improvements for issue 2197683:	English IME key-press latency is noticeably higher on passion than sholes
parents 1aaa563c 2b584244
Loading
Loading
Loading
Loading
+18 −9
Original line number Diff line number Diff line
@@ -318,14 +318,7 @@ void AudioTrack::start()
     }

    if (android_atomic_or(1, &mActive) == 0) {
        audio_io_handle_t output = AudioTrack::getOutput();
        status_t status = mAudioTrack->start();
        if (status == DEAD_OBJECT) {
            LOGV("start() dead IAudioTrack: creating a new one");
            status = createTrack(mStreamType, mCblk->sampleRate, mFormat, mChannelCount,
                                 mFrameCount, mFlags, mSharedBuffer, output);
        }
        if (status == NO_ERROR) {
        audio_io_handle_t output = getOutput();
        AudioSystem::startOutput(output, (AudioSystem::stream_type)mStreamType);
        mNewPosition = mCblk->server + mUpdatePeriod;
        mCblk->bufferTimeoutMs = MAX_STARTUP_TIMEOUT_MS;
@@ -335,9 +328,25 @@ void AudioTrack::start()
        } else {
            setpriority(PRIO_PROCESS, 0, THREAD_PRIORITY_AUDIO_CLIENT);
        }
        } else {

        status_t status = mAudioTrack->start();
        if (status == DEAD_OBJECT) {
            LOGV("start() dead IAudioTrack: creating a new one");
            status = createTrack(mStreamType, mCblk->sampleRate, mFormat, mChannelCount,
                                 mFrameCount, mFlags, mSharedBuffer, output);
            mNewPosition = mCblk->server + mUpdatePeriod;
            mCblk->bufferTimeoutMs = MAX_STARTUP_TIMEOUT_MS;
            mCblk->waitTimeMs = 0;
        }
        if (status != NO_ERROR) {
            LOGV("start() failed");
            android_atomic_and(~1, &mActive);
            if (t != 0) {
                t->requestExit();
            } else {
                setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_NORMAL);
            }
            AudioSystem::stopOutput(output, (AudioSystem::stream_type)mStreamType);
        }
    }