The code below is from Microsoft MSDN example for DirectShow:
CODE
#include <dshow.h>
void main(void)
{
IGraphBuilder *pGraph = NULL;
IMediaControl *pControl = NULL;
IMediaEvent *pEvent = NULL;
// Initialize the COM library.
HRESULT hr = CoInitialize(NU LL);
if (FAILED(hr))
{
printf("ERROR - Could not initialize COM
library");
return;
}
// Create the filter graph manager and query for interfaces.
hr = CoCreateInstanc e(CLSID_FilterG raph, NULL,
CLSCTX_INPROC_S ERVER,
IID_IGraphBuild er, (void
**)&pGraph);
if (FAILED(hr))
{
printf("ERROR - Could not create the Filter Graph
Manager.");
return;
}
hr = pGraph->QueryInterface (IID_IMediaCont rol, (void
**)&pControl);
hr = pGraph->QueryInterface (IID_IMediaEven t, (void
**)&pEvent);
// Build the graph. IMPORTANT: Change this string to a file on
your system.
hr = pGraph->RenderFile(L"C :\\Example.avi" ,
NULL);
if (SUCCEEDED(hr))
{
// Run the graph.
hr = pControl->Run();
if (SUCCEEDED(hr))
{
// Wait for completion.
long evCode;
pEvent->WaitForComplet ion(INFINITE,
&evCode);
// Note: Do not use INFINITE in a real application,
because it
// can block indefinitely.
}
}
pControl->Release();
pEvent->Release();
pGraph->Release();
CoUninitialize( );
}
I have install Directx 9.0 SDK, Platform SDK and include the library
needed into project setting (Strmiids.lib and Quartz.lib) Link and
Directory (Microsoft DirectX 9.0 SDK (December 2004)\Include).
This code is run perfectly when playing video file.
BUT, when i try to add the ICaptureGraphBu ilder2 interface to receives
the pointer to capture Video:
ICaptureGraphBu ilder2 **ppBuild // Receives the pointer
It generate errors about some headers file.
Any1 can help me?
Is there any header file needed, or i do something wrong with the
setting?
Posted Via Usenet.com Premium Usenet Newsgroup Services
----------------------------------------------------------
** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
----------------------------------------------------------
http://www.usenet.com