CMediaSample.GetMediaType method

[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.]

The GetMediaType method retrieves the media type, if the media type differs from the previous sample. This method implements the IMediaSample::GetMediaType method.

Syntax

HRESULT GetMediaType(
   AM_MEDIA_TYPE **ppMediaType
);

Parameters

ppMediaType

Address of a variable that receives a pointer to an AM_MEDIA_TYPE structure. If the media type has not changed from the previous sample, *ppMediaType is set to NULL.

Return value

Returns one of the HRESULT values shown in the following table.

Return code Description
S_FALSE
The media type has not changed from the previous sample.
S_OK
Success.
E_OUTOFMEMORY
Insufficient memory.

Remarks

When you are done with the media type, free the memory block by calling the DeleteMediaType utility function.

The CMediaSample::m_pMediaType member variable specifies the media type. The CMediaSample::m_dwFlags member variable specifies whether the media type has changed.

Requirements

Requirement Value
Header
Amfilter.h (include Streams.h)
Library
Strmbase.lib (retail builds);
Strmbasd.lib (debug builds)

See also

CMediaSample Class