Bonjour,
(j'enelve dans ce message les controles d'erreurs (if FAILED(hr)) pour ne pas surcharger)
//------------------------------------------------------
IGraphBuilder *m_g_pGraph ;
IBaseFilter *m_pVmr ;
CoCreateInstance (CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **) &m_g_pGraph);
CoCreateInstance(CLSID_VideoMixingRenderer, 0, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void**)&m_pVmr);
m_g_pGraph->AddFilter(m_pVmr, L"Video Mixing Renderer 7");
IVMRFilterConfig* m_pConfigg;
m_pVmr->QueryInterface(IID_IVMRFilterConfig, (void**)&m_pConfigg);
m_pConfigg->SetRenderingMode(VMRMode_Windowless);
m_pConfigg->SetNumberOfStreams(1);
m_pConfigg->Release();
//------------------------------------------------------
--Quelqu'un peut-il me dire pourquoi "m_pConfigg->SetNumberOfStreams(1)" échoue si on désactive Direct3D (par exemple avec dxdiag, dans l'onglet Display puis désactiver Direct3D) ?
Directdraw seul devrait suffir.
Le but étant de charger le composant de mixage.
"Even though the VMR-7 has a single input pin by default, this method must be called in order to force it to load its mixer component"
--Sinon, y a til une autre facon de charger ce composent ? (en ayant direct3D désactivé biensur)
(j'e crée une appli pour une machine dont la carte graphique ne supporte pas direct3D mais supporte parfaitement directdraw )
Merci bcp
Cap
Partager