MSTape Driver

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

This topic applies to Windows XP or later.

The MSTape driver supports D-VHS and MPEG camcorder devices. It is exposed to applications as the WDM Video Capture filter. Its functionality is similar to that of MSDV, the DV camcorder driver:

  • It appears in the "Video Capture Sources" (CLSID_VideoInputDeviceCategory) and "WDM Streaming Rendering Devices" (AM_KSCATEGORY_RENDER) filter categories.
  • An application can create an instance of the filter using the ICreateDevEnum interface.
  • It has an output pin for capture and transport from the device, and an input pin for transport to the device. Only one pin can be connected at time.

Media Types

The input pin supports one media type.

Label Value
Major Type MEDIATYPE_Stream
Subtype MEDIASUBTYPE_MPEG2_TRANSPORT_STRIDE
Sample Size 192 x 256
Format Block MPEG2_TRANSPORT_STRIDE

 

The output pin supports two media types.

Label Value
Major Type MEDIATYPE_Stream
Subtype MEDIASUBTYPE_MPEG2_TRANSPORT_STRIDE
Sample Size 192 x 256
Format Block MPEG2_TRANSPORT_STRIDE

 

Label Value
Major Type MEDIATYPE_Stream
Subtype MEDIASUBTYPE_MPEG2_TRANSPORT_STRIDE
Sample Size 188 x 256
Format Block NULL

 

Device Information

The driver dynamically reads information from the device configuration ROM. The application can retrieve this information by binding the device moniker to a property bag and calling the IPropertyBag::Read method.

Property Description Data type
UniqueID_Low Unique ID of the device (low DWORD). long (VT_I4)
UniqueID_High Unique ID of the device (high DWORD) long
VendorID Vendor ID. long
ModelID Model ID. long
VendorText Vendor name. BSTR (VT_BSTR)
ModelText Device model name. BSTR
UnitModelText Unit model name; may be the same as ModelText. BSTR
DeviceOPcr0Payload oPCR (Output Plug Control) payload. Example: 146 quadlets. long
DeviceOPcr0DataRate oPCR data rate. Examples: 0 (S100), 1 (S200), or 2 (S400). long
DeviceClassGUID GUID that identifies the device driver. For MSTape, this value is {8C0F6AF2-0EDB-44C1-8AEB-59040BD830ED}. This GUID is defined as MSTapeDeviceGUID in the header file Xprtdefs.h. BSTR
Description A description of the device, taken from the INF file. This string usually contains the brand name of the device. BSTR

 

The device ID is a 64-bit integer. The low DWORD is stored in the UniqueID_Low property, and the high DWORD is stored in the UniqueID_High property.

For more information about device monikers, see Using the System Device Enumerator.

DirectShow Filters

Controlling a DV Camcorder