Loading services/audioflinger/Threads.cpp +5 −3 Original line number Diff line number Diff line Loading @@ -6033,15 +6033,17 @@ AudioFlinger::PlaybackThread::mixer_state AudioFlinger::DirectOutputThread::prep // indicate to client process that the track was disabled because of underrun; // it will then automatically call start() when data is available track->disable(); } else if (last) { // only do hw pause when track is going to be removed due to BUFFER TIMEOUT. // unlike mixerthread, HAL can be paused for direct output ALOGW("pause because of UNDERRUN, framesReady = %zu," "minFrames = %u, mFormat = %#x", framesReady, minFrames, mFormat); mixerStatus = MIXER_TRACKS_ENABLED; if (mHwSupportsPause && !mHwPaused && !mStandby) { if (last && mHwSupportsPause && !mHwPaused && !mStandby) { doHwPause = true; mHwPaused = true; } } else if (last) { mixerStatus = MIXER_TRACKS_ENABLED; } } } Loading Loading
services/audioflinger/Threads.cpp +5 −3 Original line number Diff line number Diff line Loading @@ -6033,15 +6033,17 @@ AudioFlinger::PlaybackThread::mixer_state AudioFlinger::DirectOutputThread::prep // indicate to client process that the track was disabled because of underrun; // it will then automatically call start() when data is available track->disable(); } else if (last) { // only do hw pause when track is going to be removed due to BUFFER TIMEOUT. // unlike mixerthread, HAL can be paused for direct output ALOGW("pause because of UNDERRUN, framesReady = %zu," "minFrames = %u, mFormat = %#x", framesReady, minFrames, mFormat); mixerStatus = MIXER_TRACKS_ENABLED; if (mHwSupportsPause && !mHwPaused && !mStandby) { if (last && mHwSupportsPause && !mHwPaused && !mStandby) { doHwPause = true; mHwPaused = true; } } else if (last) { mixerStatus = MIXER_TRACKS_ENABLED; } } } Loading