Loading media/libmedia/AudioTrack.cpp +15 −14 Original line number Diff line number Diff line Loading @@ -552,7 +552,20 @@ status_t AudioTrack::start() mNewPosition = mPosition + mUpdatePeriod; int32_t flags = android_atomic_and(~CBLK_DISABLED, &mCblk->mFlags); status_t status = NO_ERROR; if (!(flags & CBLK_INVALID)) { status = mAudioTrack->start(); if (status == DEAD_OBJECT) { flags |= CBLK_INVALID; } } if (flags & CBLK_INVALID) { status = restoreTrack_l("start"); } // resume or pause the callback thread as needed. sp<AudioTrackThread> t = mAudioTrackThread; if (status == NO_ERROR) { if (t != 0) { if (previousState == STATE_STOPPING) { mProxy->interrupt(); Loading @@ -564,19 +577,7 @@ status_t AudioTrack::start() get_sched_policy(0, &mPreviousSchedulingGroup); androidSetThreadPriority(0, ANDROID_PRIORITY_AUDIO); } status_t status = NO_ERROR; if (!(flags & CBLK_INVALID)) { status = mAudioTrack->start(); if (status == DEAD_OBJECT) { flags |= CBLK_INVALID; } } if (flags & CBLK_INVALID) { status = restoreTrack_l("start"); } if (status != NO_ERROR) { } else { ALOGE("start() status %d", status); mState = previousState; if (t != 0) { Loading Loading
media/libmedia/AudioTrack.cpp +15 −14 Original line number Diff line number Diff line Loading @@ -552,7 +552,20 @@ status_t AudioTrack::start() mNewPosition = mPosition + mUpdatePeriod; int32_t flags = android_atomic_and(~CBLK_DISABLED, &mCblk->mFlags); status_t status = NO_ERROR; if (!(flags & CBLK_INVALID)) { status = mAudioTrack->start(); if (status == DEAD_OBJECT) { flags |= CBLK_INVALID; } } if (flags & CBLK_INVALID) { status = restoreTrack_l("start"); } // resume or pause the callback thread as needed. sp<AudioTrackThread> t = mAudioTrackThread; if (status == NO_ERROR) { if (t != 0) { if (previousState == STATE_STOPPING) { mProxy->interrupt(); Loading @@ -564,19 +577,7 @@ status_t AudioTrack::start() get_sched_policy(0, &mPreviousSchedulingGroup); androidSetThreadPriority(0, ANDROID_PRIORITY_AUDIO); } status_t status = NO_ERROR; if (!(flags & CBLK_INVALID)) { status = mAudioTrack->start(); if (status == DEAD_OBJECT) { flags |= CBLK_INVALID; } } if (flags & CBLK_INVALID) { status = restoreTrack_l("start"); } if (status != NO_ERROR) { } else { ALOGE("start() status %d", status); mState = previousState; if (t != 0) { Loading