Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
[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 a preferred media type.
Syntax
virtual HRESULT GetMediaType(
CMediaType *pMediaType
);
Parameters
-
pMediaType
-
Pointer to a CMediaType object that receives the media type.
Return value
Returns one of the HRESULT values shown in the following table.
| Return code | Description |
|---|---|
|
Success. |
|
Index out of range. |
|
Index less than zero. |
|
Unexpected error. |
Remarks
There are two versions of this method. One version overrides the CBasePin::GetMediaType method and takes an index value as a parameter. The other version is designed to retrieve a single media type, so it lacks the index parameter.
The single-parameter method returns E_UNEXPECTED. The two-parameter method verifies that the iPosition parameter is zero and then calls the single-parameter version. Depending on the number of media types the pin supports, you must override one of these methods:
- If the pin supports exactly one media type, override the single-parameter version. Fill in the media type that the pin supports.
- If the pin supports more than one media type, override the two-parameter version. Also override the CSourceStream::CheckMediaType method.
Requirements
| Requirement | Value |
|---|---|
| Header |
|
| Library |
|