This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IpcBitsOutLink_getEmptyVideoBitStreamBufs can not return empty buffer

When decode some frames normally, such as 18 frames or so, then

IpcBitsOutLink_getEmptyVideoBitStreamBufs will never return an empty buffer,

and dsp can not give user software a destination for decode bitstream.

What is the possible reason? Thanks!

My Create param below:

            #if 1
            System_LinkQueInfo queInfo;
            UCHAR ucnumCh = gblGetMixDecChanNums(0);
            queInfo.numCh = ucnumCh;
            for(i=0; i<ucnumCh; i++)
            {
                queInfo.chInfo[i].bufType           = SYSTEM_BUF_TYPE_VIDBITSTREAM;
                queInfo.chInfo[i].codingformat      = gblGetVideoDecType(0);
                queInfo.chInfo[i].memType           = SYSTEM_MT_TILEDMEM;
                queInfo.chInfo[i].dataFormat        = SYSTEM_DF_YUV420P;
                    queInfo.chInfo[i].startX             = 0;
            queInfo.chInfo[i].startY            = 0;
            queInfo.chInfo[i].pitch[0]           = 0;
            queInfo.chInfo[i].pitch[1]           = 0;
            queInfo.chInfo[i].pitch[2]           = 0;
                queInfo.chInfo[i].width             = gblGetVideoDecImageWidth(0);
                queInfo.chInfo[i].height            = gblGetVideoDecImageHeight(0);
                queInfo.chInfo[i].scanFormat        = SYSTEM_SF_PROGRESSIVE;
                
                    ipcBitsOutHostPrm.numBufPerCh[i]                                = 24;
            }
            ipcBitsOutHostPrm.baseCreateParams.numOutQue                    = 1;
            ipcBitsOutHostPrm.baseCreateParams.outQueParams[0].nextLink     = ipcBitsInVideoId;
            ipcBitsOutHostPrm.bufPoolPerCh                                  = TRUE;//FALSE;
            Chains_ipcBitsInitCreateParams_BitsOutHLOS(&ipcBitsOutHostPrm,&queInfo);
            #endif

             for(i=0; i<ucnumCh; i++)    //固定创建最多的16路1080p60解码
            {
            decPrm.chCreateParams[i].format                               = gblGetVideoDecType(0);
            decPrm.chCreateParams[i].profile                              = IH264VDEC_PROFILE_ANY;
            decPrm.chCreateParams[i].targetMaxWidth                       = 1920;
            decPrm.chCreateParams[i].targetMaxHeight                      = 1080;
            decPrm.chCreateParams[i].fieldMergeDecodeEnable               = FALSE;
            decPrm.chCreateParams[i].defaultDynamicParams.targetFrameRate = 60;
            decPrm.chCreateParams[i].defaultDynamicParams.targetBitRate   = 8*1000*1000;
            decPrm.chCreateParams[i].numBufPerCh                          = 6;
            }

the question is below

Bitstream_BufList gemptyBufList;

                    reqInfo.numBufs = 1;
                    reqInfo.u[0].minBufSize = bitBufSize;
                    reqInfo.u[0].chNum = ulDecChan;   
                    reqInfo.reqType = IPC_BITSOUTHLOS_BITBUFREQTYPE_CHID;

                    IpcBitsOutLink_getEmptyVideoBitStreamBufs(SYSTEM_HOST_LINK_ID_IPC_BITS_OUT_0,
                                                              &gemptyBufList,
                                                              &reqInfo);

the return gemptyBufList.numBufs is always 0 buf