Microsoft DirectX 8.1 (C++)

DMO_MEDIA_TYPE Structure

The DMO_MEDIA_TYPE structure describes the format of the data used by a stream in a Microsoft DirectX Media Object (DMO).

Note   This structure is identical to the Microsoft DirectShow AM_MEDIA_TYPE structure.

Syntax

typedef struct _DMOMediaType {
    GUID     majortype;
    GUID     subtype;
    BOOL     bFixedSizeSamples;
    BOOL     bTemporalCompression;
    ULONG    lSampleSize;
    GUID     formattype;
    IUnknown *pUnk;
    ULONG    cbFormat;
    [size_is(cbFormat)] BYTE * pbFormat;
} DMO_MEDIA_TYPE;

Members

majortype

Major type GUID of the stream.

subtype

Subtype GUID of the stream.

bFixedSizeSamples

If TRUE, samples are of a fixed size. This field is informational only. For audio, it is generally set to TRUE. For video, it is usually TRUE for uncompressed video and FALSE for compressed video.

bTemporalCompression

If TRUE, samples are compressed using temporal (interframe) compression. (A value of TRUE indicates that not all frames are key frames.) This field is informational only.

lSampleSize

Size of the sample in bytes. For compressed data, the value can be zero.

formattype

GUID specifying the format type. The pbFormat member points to the corresponding format structure. Format types include the following.

Format Type Format structure
FORMAT_DVInfo DVINFO
FORMAT_MPEG2Video MPEG2VIDEOINFO
FORMAT_MPEGVideo MPEG1VIDEOINFO
FORMAT_None NULL
FORMAT_VideoInfo VIDEOINFOHEADER
FORMAT_VideoInfo2 VIDEOINFOHEADER2
FORMAT_WaveFormatEx WAVEFORMATEX

pUnk

Not used.

cbFormat

Size of the format block of the media type.

pbFormat

Pointer to the format structure. The structure type is specified by the formattype member. The format structure must be present, unless formattype is GUID_NULL or FORMAT_None.

Remarks

The bFixedSizeSamples, bTemporalCompression, and lSampleSize members are for compatibility with DirectShow. Other DMO clients are not required to use them.

See Also