CBasePin.AgreeMediaType 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 AgreeMediaType
method searches for a media type to make a pin connection.
Syntax
virtual HRESULT AgreeMediaType(
IPin *pReceivePin,
const CMediaType *pmt
);
Parameters
-
pReceivePin
-
Pointer to the receiving pin's IPin interface.
-
pmt
-
Pointer to a CMediaType object that specifies a media type, or NULL.
Return value
Returns an HRESULT value. Possible values include those in the following table.
Return code | Description |
---|---|
|
Success. |
|
No acceptable media type was found. |
Remarks
If the pmt parameter is non-NULL and fully specifies a media type, this method attempts a connection using that media type. If the attempt fails, the method returns an error.
If the pmt parameter is NULL or specifies a partial media type, this method tries media types in the following order:
- The receiving pin's preferred media types.
- This pin's preferred media types.
Preferred media types are enumerated with the CBasePin::EnumMediaTypes method, and the resulting enumerator is passed to the CBasePin::TryMediaTypes method.
Requirements
Requirement | Value |
---|---|
Header |
|
Library |
|