问题描述:
【测试步骤】1、桌面同时按住power与音量-截图
【测试结果】截图无声音
【预期结果】不应该无声音
这是一个google common问题,问题原因如下:
decode does not complete when first capture.
solution: for audio sound pool case, skip EOS delay time to faster to send out EOS.
修改位置:frameworks/av/media/libstagefright/AwesomePlayer.cpp
void AwesomePlayer::postCheckAudioStatusEvent(int64_t delayUs) { Mutex::Autolock autoLock(mAudioLock); if (mAudioStatusEventPending) { return; } mAudioStatusEventPending = true; // Do not honor delay when looping in order to limit audio gap if (mFlags & (LOOPING | AUTO_LOOPING)) { delayUs = 0; } #ifdef MTK_AOSP_ENHANCEMENT // AudioCache needn't delay post EOS, just AudioOutput which with a valid UID needed if(!mUIDValid){ ALOGI("AudioCache needn't delay post EOS!!!"); //<2015.05.07> modify for start delayUs = 0; //<2015.05.07> modify for end } #endif mQueue.postEventWithDelay(mCheckAudioStatusEvent, delayUs); }把delayUs = 3000;改为delayUs = 0;