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

Commit b4cb73e7 authored by Wei Jia's avatar Wei Jia Committed by Android (Google) Code Review
Browse files

Merge "AudioSink: set configurations correctly for recycled track." into nyc-mr1-dev

parents 542cb3f4 e0bbac91
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -1845,7 +1845,7 @@ status_t MediaPlayerService::AudioOutput::open(
                mCallbackData->setOutput(this);
            }
            delete newcbd;
            return OK;
            return updateTrack();
        }
    }

@@ -1867,17 +1867,26 @@ status_t MediaPlayerService::AudioOutput::open(
    mFrameSize = t->frameSize();
    mTrack = t;

    return updateTrack();
}

status_t MediaPlayerService::AudioOutput::updateTrack() {
    if (mTrack == NULL) {
        return NO_ERROR;
    }

    status_t res = NO_ERROR;
    // Note some output devices may give us a direct track even though we don't specify it.
    // Example: Line application b/17459982.
    if ((t->getFlags() & (AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD | AUDIO_OUTPUT_FLAG_DIRECT)) == 0) {
        res = t->setPlaybackRate(mPlaybackRate);
    if ((mTrack->getFlags()
            & (AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD | AUDIO_OUTPUT_FLAG_DIRECT)) == 0) {
        res = mTrack->setPlaybackRate(mPlaybackRate);
        if (res == NO_ERROR) {
            t->setAuxEffectSendLevel(mSendLevel);
            res = t->attachAuxEffect(mAuxEffectId);
            mTrack->setAuxEffectSendLevel(mSendLevel);
            res = mTrack->attachAuxEffect(mAuxEffectId);
        }
    }
    ALOGV("open() DONE status %d", res);
    ALOGV("updateTrack() DONE status %d", res);
    return res;
}

+1 −0
Original line number Diff line number Diff line
@@ -135,6 +135,7 @@ class MediaPlayerService : public BnMediaPlayerService
                int event, void *me, void *info);
               void             deleteRecycledTrack_l();
               void             close_l();
           status_t             updateTrack();

        sp<AudioTrack>          mTrack;
        sp<AudioTrack>          mRecycledTrack;