Sets the media type for a stream.
This media type defines that format that the Source Reader produces as output. It can differ from the native format provided by the media source. See Remarks for more information.
public:
HRESULT SetCurrentMediaType(
DWORD dwStreamIndex,
_Reserved_ DWORD *pdwReserved,
IMFMediaType *pMediaType
)
dwStreamIndex
Type: DWORD
[in] The stream to configure. The value can be any of the following.
pdwReserved
Type: Reserved DWORD *
Reserved. Set to NULL.
pMediaType
Type: IMFMediaType *
[in] A pointer to the IMFMediaType interface of the media type.
Type: HRESULT
The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.
| Return code | Description |
|---|---|
| S_OK | The method succeeded. |
| MF_E_INVALIDMEDIATYPE | At least one decoder was found for the native stream type, but the type specified by pMediaType was rejected. |
| MF_E_INVALIDREQUEST | One or more sample requests are still pending. |
| MF_E_INVALIDSTREAMNUMBER | The dwStreamIndex parameter is invalid. |
| MF_E_TOPO_CODEC_NOT_FOUND | Could not find a decoder for the native stream type. |
Refer to Media Foundation return codes.
For each stream, you can set the media type to any of the following:
Audio resampling support was added to the source reader with Windows 8. In versions of Windows prior to Windows 8, the source reader does not support audio resampling. If you need to resample the audio in versions of Windows earlier than Windows 8, you can use the Audio Resampler DSP.
If you set the MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING attribute to TRUE when you create the Source Reader, the Source Reader will convert YUV video to RGB-32. This conversion is not optimized for real-time video playback.
This interface is available on Windows Vista if Platform Update Supplement for Windows Vista is installed.
Header: Declared in mfreadwrite.h.