⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boardmodule.cpp

📁 基于NMS的video access 3.1编写的DEMO程序 实现2个功能 1) H324握手 2) VIDEO MAIL
💻 CPP
字号:
#include "boardmodule.h"

CTAQUEUEHD TBoardModule::m_ctaqueuehd;
CTAHD TBoardModule::m_ctahd;
bool TBoardModule::m_bInited = false;

bool TBoardModule::Init()
{
	if(m_bInited)
			return true;

	CTA_EVENT event;
	if( 0 != ctaCreateQueue( NULL, 0, &m_ctaqueuehd))
		return false;
	if( 0!= ctaCreateContext(m_ctaqueuehd, 0, "boardcontext",  &m_ctahd))
		return false;

	CTA_SERVICE_DESC  svcDescriptions[] = {{ { "ADI", "ADIMGR" }, {0},{0},{0} }};
	svcDescriptions[0].mvipaddr.board =  ADI_DRIVER_ONLY;
	if( 0 != ctaOpenServices( m_ctahd, svcDescriptions, 1/*num*/))
		return false;

	ctaWaitEvent(m_ctaqueuehd, &event, CTA_WAIT_FOREVER/*forevenr*/);
	if((event.id != CTAEVN_OPEN_SERVICES_DONE) || (event.value != CTA_REASON_FINISHED))
		return false;

	m_bInited = true;
	return true;
}

bool TBoardModule::GetBoardInfo(int board, int *dspstream, int *numtrunk)
{
	if(!Init())
		return false;
	CTA_ERROR_HANDLER hdlr;

	ADI_BOARD_INFO boardinfo;
	ctaSetErrorHandler(NULL, &hdlr); //disable err handle
	if( adiGetBoardInfo(m_ctahd, board, sizeof(boardinfo), &boardinfo ) != 0 )
	{
		ctaSetErrorHandler(hdlr, NULL);
		return false;
	}

	*numtrunk = boardinfo.numtrunks;

	switch(boardinfo.boardtype)
	{
	case ADI_BOARDTYPE_AG4000_1E:
	case ADI_BOARDTYPE_AG4000_2E:
	case ADI_BOARDTYPE_AG4000_4E:
	case ADI_BOARDTYPE_AG4000C_2E:
	case ADI_BOARDTYPE_AG4000C_4E:
	case ADI_BOARDTYPE_CG6000:
	case ADI_BOARDTYPE_CG6000C_QUAD:
		*dspstream = 16;
		break;

	case ADI_BOARDTYPE_CG6100C:
	case ADI_BOARDTYPE_CG6500C:
	case ADI_BOARDTYPE_CG6060:
	case ADI_BOARDTYPE_CG6060C:
	case ADI_BOARDTYPE_CG6565:
	case ADI_BOARDTYPE_CG6565C:
		*dspstream = 64;
		break;

	default:
		*dspstream = 0;
	}

	ctaSetErrorHandler(hdlr, NULL);
	return true;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -