Hello Very one.
I ran into a problem When using swms。We SDK is DVRRDK_03.50.00.05。
The Data Path is like this:
NullsrcLink (6 ch 1920x1080) -> swms -> display( two HD output ).
My aim is to understand how to use SWMS。
Problem:
I found that. NullsrcLink can not get empty buffer when after put full buffer to SWMS.
Code fragment:
NullSrcPrm.outQueParams.nextLink = dupId;
NullSrcPrm.tilerEnable = FALSE;
NullSrcPrm.timerPeriod = 16;
NullSrcPrm.inputInfo.numCh = 6;
for(i=0;i<NullSrcPrm.inputInfo.numCh;i++){
NullSrcPrm.inputInfo.chInfo[i].bufType = SYSTEM_BUF_TYPE_VIDFRAME;
NullSrcPrm.inputInfo.chInfo[i].memType = SYSTEM_MT_NONTILEDMEM;
NullSrcPrm.inputInfo.chInfo[i].codingformat = 0;
NullSrcPrm.inputInfo.chInfo[i].dataFormat = SYSTEM_DF_YUV420SP_UV;//SYSTEM_DF_YUV422I_YUYV;
NullSrcPrm.inputInfo.chInfo[i].scanFormat = 1;
NullSrcPrm.inputInfo.chInfo[i].width = 1920;
NullSrcPrm.inputInfo.chInfo[i].height = 1080;
NullSrcPrm.inputInfo.chInfo[i].startX = 0;
NullSrcPrm.inputInfo.chInfo[i].startY = 0;
NullSrcPrm.inputInfo.chInfo[i].pitch[0] = 1920*2;
NullSrcPrm.inputInfo.chInfo[i].pitch[1] = 1920*2;
}
dupPrm.inQueParams.prevLinkId = nullSrcId;
dupPrm.inQueParams.prevLinkQueId = 0;
dupPrm.numOutQue = 2;
dupPrm.outQueParams[0].nextLink = swMsId[0];
dupPrm.outQueParams[1].nextLink = swMsId[1];
dupPrm.notifyNextLink = TRUE;
for(i=0;i<2;i++){
swMsPrm[i].numSwMsInst = 1;
swMsPrm[i].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_SC5;
swMsPrm[i].swMsInstStartWin[0] = 0;
swMsPrm[i].inQueParams.prevLinkId = dupId;
swMsPrm[i].inQueParams.prevLinkQueId = 0;
swMsPrm[i].outQueParams.nextLink = displayId[i];
swMsPrm[i].maxInputQueLen = SYSTEM_SW_MS_DEFAULT_INPUT_QUE_LEN;
swMsPrm[i].maxOutRes = VSYS_STD_1080P_60;
swMsPrm[i].initOutRes = VSYS_STD_1080P_60;
swMsPrm[i].lineSkipMode = FALSE;//TRUE;
swMsPrm[i].enableLayoutGridDraw = FALSE;
swMsPrm[i].layoutPrm.outputFPS = 30;
swMsPrm[i].enableOuputDup = TRUE;
swMsPrm[i].outDataFormat = SYSTEM_DF_YUV422I_YUYV;
swMsPrm[i].outputBufModified = TRUE;
SixChannelSwMsSetLayoutPrm(&swMsPrm[i], 1);
}
displayPrm[0].inQueParams[0].prevLinkId = swMsId[0];
displayPrm[0].inQueParams[0].prevLinkQueId = 0;
displayPrm[0].displayRes = VSYS_STD_1080P_60;
displayPrm[1].inQueParams[0].prevLinkId = swMsId[1];
displayPrm[1].inQueParams[0].prevLinkQueId = 0;
displayPrm[1].displayRes = VSYS_STD_1080P_60;
BTW :I can confirm NullSrcLink is config right。
So somebody can tell me, where is wrong for SWMS?
Thank You !
Looking forward to your reply。