External Device Interfaces for DV Camcorders
Microsoft DirectShow 9.0 |
External Device Interfaces for DV Camcorders
The WDM Video Capture filter exposes three interfaces for controlling a camcorder.
IAMExtDevice | The base interface for external device control. |
IAMExtTransport | Controls the VCR functions. |
IAMTimecodeReader | Reads timecode from the device. |
- **Note **To use these interfaces with the MSDV camcorder driver, include the header file XPrtDefs.h in your project.
After you select a capture device and create an instance of the capture filter, query the filter for these interfaces. The following example declares a custom structure that holds the interface pointers, along with Boolean values that specify the availability of each interface:
struct _MyDevCap { IAMExtDevice *pDevice; IAMExtTransport *pTransport; IAMTimecodeReader *pTimecode; BOOL bHasDevice; BOOL bHasTransport; BOOL bHasTimecode; } MyDevCap; HRESULT hr; IBaseFilter *pDVCam; // Pointer to the capture filter. // Create an instance of the capture filter (not shown). hr = pDVCam->QueryInterface(IID_IAMExtDevice, (void **)&MyDevCap.pDevice); MyDevCap.bHasDevice = (SUCCEEDED(hr)); hr = pDVCam->QueryInterface(IID_IAMExtTransport, (void **)&MyDevCap.pTransport); MyDevCap.bHasTransport = (SUCCEEDED(hr)); hr = pDVCam->QueryInterface(IID_IAMTimecodeReader, (void **)&MyDevCap.pTimecode); MyDevCap.bHasTimecode = (SUCCEEDED(hr));
See Also