当前位置: 首页>>代码示例>>C++>>正文


C++ PortVideo::getDirection方法代码示例

本文整理汇总了C++中PortVideo::getDirection方法的典型用法代码示例。如果您正苦于以下问题:C++ PortVideo::getDirection方法的具体用法?C++ PortVideo::getDirection怎么用?C++ PortVideo::getDirection使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PortVideo的用法示例。


在下文中一共展示了PortVideo::getDirection方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: deInstantiate

/**
@brief Configure the processing component by sending all relevant info 
*/
WRAPPER_OPENMAX_API OMX_ERRORTYPE OpenMax_Proxy::deInstantiate()
//*************************************************************************************************************
{
	IN0("\n");
	OMX_ERRORTYPE OmxError=OMX_ErrorNone;
	t_nmf_error nmf_err = NMF_OK;
	OMX_HANDLETYPE handle = mENSComponent.getOMXHandle();

	nmf_err = m_pNmfProcWrp->unbindFromUser("sendcommand");
	if (nmf_err != NMF_OK)
	{
		MSG1("Error: Imageproc unbindfromUser sendcommand 0x%x\n", nmf_err);
		OmxError=OMX_ErrorHardware;
	}
	nmf_err = m_pNmfProcWrp->unbindFromUser("fsminit");
	if (nmf_err != NMF_OK)
	{
		MSG1("Error: Imageproc unbindfromUser fsminit 0x%x\n", nmf_err);
		OmxError=OMX_ErrorHardware;
	}
#if (SYNCHRONOUS ==0)
	nmf_err |= m_pNmfProcWrp->unbindFromUser("Config");
	if (nmf_err != NMF_OK)
	{
		MSG1("Error: Imageproc unbindfromUser Config 0x%x\n", nmf_err);
		OmxError=OMX_ErrorHardware;
	}

	nmf_err = m_pNmfProcWrp->unbindFromUser("Param");
	if (nmf_err != NMF_OK)
	{
		MSG1("Error: Imageproc unbindfromUser Param 0x%x\n", nmf_err);
		OmxError=OMX_ErrorHardware;
	}
#endif
	nmf_err |= EnsWrapper_unbindToUser(handle, m_pNmfProcWrp, "proxy");
	if (nmf_err != NMF_OK)
	{
		MSG1("Error: m_pNmfProcWrp unbindToUser proxy 0x%x\n", nmf_err);
		OmxError=OMX_ErrorHardware;
	}

	nmf_err |= EnsWrapper_unbindToUser(handle, m_pNmfProcWrp, /* "get_config" */ "ToOMXComponent");
	if (nmf_err != NMF_OK)
	{
		MSG1("Error: m_pNmfProcWrp unbindToUser ToOMXComponent 0x%x\n", nmf_err);
		OmxError=OMX_ErrorHardware;
	}

	char name[20]; //reserve some char for formatting callback name
	PortVideo* pPort;
	for (unsigned int Index=0; Index< mENSComponent.getPortCount(); ++Index)
	{
		pPort = (PortVideo*)mENSComponent.getPort(Index);
		switch(pPort->getDirection())
		{
		case OMX_DirInput: //bind emptythisbuffer, emptybufferdone for each input port
			sprintf(name, "emptythisbuffer[%u]", Index);
			nmf_err |= m_pNmfProcWrp->unbindFromUser(name);
			sprintf(name, "emptybufferdone[%u]", Index);
			nmf_err |= EnsWrapper_unbindToUser(handle, m_pNmfProcWrp, name);
			break;
		case OMX_DirOutput: //bind emptythisbuffer, emptybufferdone for each input port
			sprintf(name, "fillthisbuffer[%u]", Index);
			nmf_err |= m_pNmfProcWrp->unbindFromUser(name);
			sprintf(name, "fillbufferdone[%u]", Index);
			nmf_err |= EnsWrapper_unbindToUser(handle, m_pNmfProcWrp, name);
			break;
		default:
			WARNING(0);
			break;
		}
	}
	if (nmf_err != NMF_OK)
	{
		OmxError=OMX_ErrorHardware;
	}

	m_pNmfProcWrp->destroy(); 
	openmax_processor_wrpDestroy(m_pNmfProcWrp);
	m_pProcessor=NULL; // for releasing the 'processor'
	OUTR(" ", (OmxError));
	return OmxError;
}
开发者ID:Meticulus,项目名称:vendor_st-ericsson_u8500,代码行数:87,代码来源:openmax_component_proxy.cpp

示例2: instantiate

/** 
brief Instantiate the nmf component and bind interfaces
Called during Loaded to Idle transition
*/
WRAPPER_OPENMAX_API OMX_ERRORTYPE OpenMax_Proxy::instantiate()
//*************************************************************************************************************
{ //binding all interfaces
	OMX_ERRORTYPE omx_error=OMX_ErrorNone;
	IN0("\n");
	// Init Components
	// Bind of arm nmf components
	MSG1("OpenMax_Proxy(%s) Instantiating arm nmf component\n", GetComponentName());
	openmax_processor *pProcessor=NULL;
	if (m_pProcessor != NULL)
		pProcessor = m_pProcessor;
	else if (m_fnCreateNmfComponent !=NULL)
	{ 
		m_pProcessor= m_fnCreateNmfComponent();
		pProcessor  = m_pProcessor;
	}

	m_pNmfProcWrp = openmax_processor_wrpCreate(pProcessor);

	m_pNmfProcWrp->priority = m_nmfPriority;

	if (m_pNmfProcWrp->construct() != NMF_OK)
		NMF_PANIC("PANIC - Construct Error\n") ;

	t_nmf_error error ;
	// bindFromUser --> Asynchronous
	// getInterface --> Synchronous

	error = m_pNmfProcWrp->bindFromUser("sendcommand", 2, &mIsendCommand) ;
	if (error != NMF_OK)
		NMF_PANIC("PANIC - bindFromUser sendCommand\n") ;
#if (SYNCHRONOUS ==0)
	error = m_pNmfProcWrp->bindFromUser("Param", 2*mENSComponent.getPortCount()+1, &m_IParam) ; // One setparam per port + 1
	if (error != NMF_OK)
		NMF_PANIC("PANIC - bindFromUser Param\n") ;

	error = m_pNmfProcWrp->bindFromUser("Config", 2*mENSComponent.getPortCount()+1, &m_IConfig) ; // One setparam per port + 1
	if (error != NMF_OK)
		NMF_PANIC("PANIC - bindFromUser Config\n") ;
#else //Bind synchronous interfaces
	//interfaces are binded in a synchronous way
	error = m_pNmfProcWrp->getInterface("Param", &m_IParam);
	if (error != NMF_OK)
		NMF_PANIC("PANIC - getInterface Param\n") ;

	error = m_pNmfProcWrp->getInterface("Config", &m_IConfig);
	if (error != NMF_OK)
		NMF_PANIC("PANIC - getInterface Config\n") ;
#endif
	error = m_pNmfProcWrp->bindFromUser("fsminit", 1 , &mIfsmInit);
	if (error != NMF_OK)
		NMF_PANIC("Error: unable to bind fsminit!...\n");

	error = EnsWrapper_bindToUser(mENSComponent.getOMXHandle(), m_pNmfProcWrp, "proxy", getEventHandlerCB(), 8);
	if (error != NMF_OK)
		NMF_PANIC("Error: unable to bind proxy!...\n");

	error = EnsWrapper_bindToUser(mENSComponent.getOMXHandle(), m_pNmfProcWrp, "ToOMXComponent", mConfigCB, 1);
	if (error != NMF_OK)
		NMF_PANIC("Error: unable to bind ToOMXComponent!...\n");

	char name[20]; //reserve some char for formatting callback name
	size_t iNbInput =0;
	size_t iNbOutput=0;
	PortVideo* pPort;
	for (unsigned int Index=0; Index< mENSComponent.getPortCount(); ++Index)
	{
		pPort = (PortVideo*)mENSComponent.getPort(Index);
		MSG3("\n %s Port %d : direction =%d\n", GetComponentName(), Index, pPort->getDirection());
		//reset port info at this point 
		//NO it's too late!
#if 0
		if (pPort->getBufferSupplier() !=OMX_BufferSupplyUnspecified)
		{
			printf("wwwwwwwwwwwwwwwwwwwwwwwwwwww    %s.port[%d] reset state(%d) to OMX_BufferSupplyUnspecified\n", GetComponentName(), Index, pPort->getBufferSupplier());
			pPort->setBufferSupplier(OMX_BufferSupplyUnspecified);
		}
#endif
		switch(pPort->getDirection())
		{
		case OMX_DirInput: //bind emptythisbuffer, emptybufferdone for each input port
			if (iNbInput < MAX_PORTS_COUNT)
			{
				sprintf(name, "emptythisbuffer[%d]", Index);
				error = m_pNmfProcWrp->bindFromUser(name, pPort->getBufferCountActual(), &mIemptyThisBuffer[Index]);
				if (error != NMF_OK)
					NMF_PANIC("PANIC %s->bindFromUser %s\n", GetComponentName(), name) ;

				sprintf(name, "emptybufferdone[%d]", Index);
				error = EnsWrapper_bindToUser(mENSComponent.getOMXHandle(),
					m_pNmfProcWrp,
					name ,
					this->getEmptyBufferDoneCB(),
					pPort->getBufferCountActual());

				if (error != NMF_OK)
//.........这里部分代码省略.........
开发者ID:Meticulus,项目名称:vendor_st-ericsson_u8500,代码行数:101,代码来源:openmax_component_proxy.cpp


注:本文中的PortVideo::getDirection方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。