AUBuffer.h:61:GetBufferList: EXCEPTION (-1) [mPtrState == kPtrsInvalid is false]: ""

分享一個音視頻開發(fā)過程中的bug
如題:AUBuffer.h:61:GetBufferList: EXCEPTION (-1) [mPtrState == kPtrsInvalid is false]: ""

資料查了不少,在一個日文網(wǎng)站提到mPtrState == kPtrsInvalid為false當發(fā)出大量此類日志時,這是kAudioUnitProperty_SetRenderCallback因為未指定回調(diào),因此可以通過指定某種回調(diào)來解決。

所以我在代碼中發(fā)現(xiàn)有:

AURenderCallbackStruct pb;
pb.inputProcRefCon = 0;
pb.inputProc = 0;
AudioUnitSetProperty(mc->audioUnit(), kAudioUnitProperty_SetRenderCallback, kAudioUnitScope_Input, 0, &pb, sizeof(pb));

確實沒有指定回調(diào)路徑修改之后,如果不想讓它走回調(diào)可以在回調(diào)里加上判斷不走業(yè)務代碼就行
再者
kAudioOutputUnitProperty_SetInputCallback如果不指定路徑也是一樣的會在工作臺打印大量的AUBuffer.h:61:GetBufferList: EXCEPTION (-1) [mPtrState == kPtrsInvalid is false]: ""
沒有閃退但是影響調(diào)試

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容