DV (Digital Video) Capture

1.

To begin simple digital video capturing you should create an instance of the ltmmCapture class. This is accomplished using the Win32 CoCreateInstance function as follows:

C Source

IltmmCapture* pCapture;
CoCreateInstance(&CLSID_ltmmCapture, NULL, CLSCTX_INPROC_SERVER, &IID_IltmmCapture, (void**) &pCapture);

C++ Source

IltmmCapture* pCapture; 
CoCreateInstance(CLSID_ltmmCapture, NULL, CLSCTX_INPROC_SERVER, IID_IltmmCapture, (void**) &pCapture);

2.

Define video devices to be used as the capture source. The ltmmCapture object contains video device collection objects.

3.

The first video device can be selected for capture by calling the device collection’s put_Selection function:

C Source

IltmmDevices* pDevices;

// get an interface into video devices collection
IltmmCapture_get_VideoDevices(pCapture, &pDevices); 

// select the first video device
IltmmDevices_put_Selection (pDevices, 0);

// release collection
IUnknown_Release(pDevices);

C++ Source

IltmmDevices* pDevices; 

// get an interface into video devices collection
pCapture->get_VideoDevices(&pDevices);

// select device
pDevices->put_Selection(0);

// release collection
pDevices->Release();

4.

You should now start the capturing, as demonstrated with the following code:

C Source

// start capturing
IltmmCapture_StartCapture(pCapture, ltmmCapture_Mode_VideoOrAudio);

C++ Source

// start capturing
pCapture->StartCapture (ltmmCapture_Mode_VideoOrAudio);

5.

You should at the end stop capturing and recording, as demonstrated with the following code:

C Source

// stop capturing
IltmmCapture_StopCapture(pCapture);

C++ Source

// stop capturing
pCapture->StopCapture ();