コード例 #1
0
mfxStatus CRendererPipeline::CreateHWDevice()
{
    mfxStatus sts = MFX_ERR_NONE;
#if D3D_SURFACES_SUPPORT
    POINT point = {0, 0};
	HWND window = m_hParentWnd;// WindowFromPoint(point);

#if MFX_D3D11_SUPPORT
    if (D3D11_MEMORY == m_memType)
        m_hwdev = new CD3D11Device();
    else
#endif // #if MFX_D3D11_SUPPORT
        m_hwdev = new CD3D9Device();

    if (NULL == m_hwdev)
        return MFX_ERR_MEMORY_ALLOC;

    sts = m_hwdev->Init(
        window,
        1,
		MSDKAdapter::GetNumber(m_mfxSession)/* MSDKAdapter::GetNumber(GetFirstSession())*/);
    MSDK_CHECK_RESULT(sts, MFX_ERR_NONE, sts);

#elif LIBVA_SUPPORT
    m_hwdev = CreateVAAPIDevice();
    if (NULL == m_hwdev)
    {
        return MFX_ERR_MEMORY_ALLOC;
    }
    sts = m_hwdev->Init(NULL, 0, MSDKAdapter::GetNumber(GetFirstSession()));
    MSDK_CHECK_RESULT(sts, MFX_ERR_NONE, sts);
#endif
    return MFX_ERR_NONE;
}
コード例 #2
0
ファイル: cReactorPlugin.cpp プロジェクト: ajakubek/plim
void cReactorPlugin::RegisterSessionReactors(void) {
	cReactorSession* session;
	
	session = GetFirstSession();

	while (session) {
		session->RegisterReactorInstance( GetNuclearReactor() );
		session = GetNextSession( session );
	}

}
コード例 #3
0
ファイル: cReactorPlugin.cpp プロジェクト: ajakubek/plim
int cReactorPlugin::NuclearRelease(fd_set *rfds, fd_set *wfds, fd_set *efds) {
	cReactorSession* session;

	session = GetFirstSession();

	while (session) {
		session->Release(rfds, wfds, efds);
		session = GetNextSession( session );
	}

	return 0;
}
コード例 #4
0
ファイル: cReactorPlugin.cpp プロジェクト: ajakubek/plim
int cReactorPlugin::NuclearFission(fd_set *rfds, fd_set *wfds, fd_set *efds) {
	cReactorSession* session;
	int rd = 0;
	
	session = GetFirstSession();

	while (session) {
		rd = MAX_FD(session->GetSocket(), rd);

		session->Fission(rfds, wfds, efds);
		session = GetNextSession( session );
	}

	return rd;
}