Int32 VcapVenc_bitsWriteDelete() { gVcapVenc_ctrl.exitWrThr = TRUE; OSA_semSignal(&gVcapVenc_ctrl.wrSem); while(!gVcapVenc_ctrl.isWrThrStopDone) { OSA_waitMsecs(10); } OSA_thrDelete(&gVcapVenc_ctrl.wrThrHndl); OSA_semDelete(&gVcapVenc_ctrl.wrSem); return OSA_SOK; }
Int32 SD_Demo_bitsWriteDelete() { gSD_Demo_Ipc_Ctrl.exitWrThr = TRUE; OSA_semSignal(&gSD_Demo_Ipc_Ctrl.wrSem); while(!gSD_Demo_Ipc_Ctrl.isWrThrStopDone) { OSA_waitMsecs(10); } OSA_thrDelete(&gSD_Demo_Ipc_Ctrl.wrThrHndl); OSA_semDelete(&gSD_Demo_Ipc_Ctrl.wrSem); return OSA_SOK; }
Void VcapVencVdecVdis_ipcBitsInCbFxn (Ptr cbCtx) { VcapVencVdecVdis_IpcBitsCtrl *app_ipcBitsCtrl; static Int printInterval; OSA_assert(cbCtx = &gVcapVencVdecVdis_ipcBitsCtrl); app_ipcBitsCtrl = cbCtx; OSA_semSignal(&app_ipcBitsCtrl->thrObj.bitsInNotifySem); #ifdef IPC_BITS_DEBUG if ((printInterval % MCFW_IPCBITS_INFO_PRINT_INTERVAL) == 0) { OSA_printf("MCFW_IPCBITS: Callback function:%s",__func__); } #endif printInterval++; }
Void VdecVdis_ipcFramesStart(void) { VIDEO_CHANNEL_LIST_INFO_S chInfoList; Int32 status; /* We need to initialize the frameObj only at start time and * not at create time. This is because the SharedRegion is * initialized only after Vsys_create(). * Also the number of channels to be displayed can be queries * from VDIS module only after Vdis_create() */ status = Vdis_getChannelInfo(&chInfoList); OSA_assert(status == ERROR_NONE); VdecVdis_ipcFramesInitFrameObj(gVdecVdis_config.ipcFrames.frameObj, MCFW_IPCFRAMES_MAX_NUM_ALLOC_FRAMES, &chInfoList); OSA_semSignal(&gVdecVdis_config.ipcFrames.thrObj.thrStartSem); }
Void VdecVdis_bitsRdStart() { OSA_semSignal(&gVdecVdis_obj.thrStartSem); }
Void VcapVenc_bitsWriteCbFxn(Ptr pPrm) { OSA_semSignal(&gVcapVenc_ctrl.wrSem); }
Void SD_Demo_bitsWriteCbFxn(Ptr pPrm) { OSA_semSignal(&gSD_Demo_Ipc_Ctrl.wrSem); }
Void SD_Demo_ScdBitsWriteCbFxn(Ptr pPrm) { OSA_semSignal(&gSD_Demo_Scd_ctrl.wrSem); }