Partager via


AM_MEDIA_TYPE

This structure describes a media sample type.

typedef struct  _MediaType{
  GUID majortype;
  GUID subtype;
  BOOL bFixedSizeSamples;
  BOOL bTemporalCompression;
  ULONG lSampleSize;
  GUID formattype;
  IUnknown* pUnk;
  ULONG cbFormat;
  /* [size_is] */ BYTE __RPC_FAR* pbFormat;
} AM_MEDIA_TYPE;

Members

  • majortype
    Major type of the media sample.
  • subtype
    Subtype of the media sample.
  • bFixedSizeSamples
    If TRUE, samples are of a fixed size.
  • bTemporalCompression
    If TRUE, samples are compressed.
  • lSampleSize
    Size of the sample in bytes.
  • formattype
    Registered (GUID) format type.
  • pUnk
    Pointer to the IUnknown interface.
  • cbFormat
    Size of the format section of the media type.
  • pbFormat
    Pointer to the format section of the media type. The layout of this is determined by the format type GUID. Format types include the following.
    Format type Structure pointed to
    FORMAT_MPEGVideo MPEG1VIDEOINFO
    FORMAT_VideoInfo VIDEOINFOHEADER
    FORMAT_WaveFormatEx WAVEFORMATEX
    FORMAT_MPEG2Video MPEG2VIDEOINFO
    FORMAT_VideoInfo2 VIDEOINFOHEADER2

Remarks

Media Types

In any function that receives an AM_MEDIA_TYPE parameter, always validate the values of cbFormat and formattype before dereferencing the pbFormat member.

The following code is incorrect:

if (pmt->formattype == FORMAT_VideoInfo)
{
    VIDEOINFOHEADER *pVIH = (VIDEOINFOHEADER*)pmt->pbFormat;
    // **** Wrong! ****
}

The following code is correct:

if ((pmt->formattype == FORMAT_VideoInfo) && 
    (pmt->cbFormat > sizeof(VIDEOINFOHEADER) &&
    (pbFormat != NULL))
{
    VIDEOINFOHEADER *pVIH = (VIDEOINFOHEADER*)pmt->pbFormat;
    // Now you can use pVIH.
}

Requirements

DirectShow applications and DirectShow filters have different include file and link library requirements. See Setting Up the Build Environment for more information.

OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.
Header: Dshow.h.

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.