Hi,
There are functions like AVSERVER_bufPutFull,AVSERVER_bufGetFull,AVSERVER_bufPutEmpty,AVSERVER_bufGetEmpty
in the ipnc appliction code.Inside the function it is calling the func corresponding to the current task or next task.
e.g
OSA_BufInfo *AVSERVER_bufPutFull(int tskId, int streamId, int bufId)
{
OSA_BufHndl *pBufHndl;
OSA_TskHndl *pTskHndl;
int status;
status = AVSERVER_bufGetNextTskInfo(tskId, streamId, &pBufHndl, &pTskHndl);
if(status!=OSA_SOK) {
OSA_ERROR("AVSERVER_bufGetNextTskInfo(%d, %d)\n", tskId, streamId);
return NULL;
}
status = OSA_bufPutFull(pBufHndl, bufId);
if(status!=OSA_SOK) {
OSA_ERROR("OSA_bufPutFull(%d, %d, %d)\n", tskId, streamId, bufId);
return NULL;
}
status = OSA_tskSendMsg(pTskHndl, NULL, AVSERVER_CMD_NEW_DATA, (void*)streamId, 0);
if(status!=OSA_SOK) {
OSA_ERROR("OSA_tskSendMsg(AVSERVER_CMD_NEW_DATA, %d, %d)\n", tskId, streamId);
return NULL;
}
return OSA_bufGetBufInfo(pBufHndl, bufId);
}
Please explain the above,It is putting full buffer to the empty queue and is it giving full buffer to the next task.
Thanks