CBasePin::TryMediaTypes (Compact 2013)

3/26/2014

Determines a media type for a pin connection.


virtual HRESULT TryMediaTypes(
  IPin* pReceivePin,
  const CMediaType* pmt,
  IEnumMediaTypes* pEnum
);

pReceivePin

Pointer to the IPin interface of the receiving pin.

pmt

Pointer to a returned media type.

pEnum

Pointer to an IEnumMediaTypes enumerator interface.

Returns an HRESULT value, which can include the following.

Value

Description

FAILED

Resetting of the enumerator failed.

NOERROR

Media type found.

VFW_E_NO_ACCEPTABLE_TYPES

No acceptable media types were found.

Given an enumerator, this member function cycles through all media types proposed by the enumerator.

Each type is suggested to the derived pin class and, if acceptable, is tried with the connected pin in a call to the IPin::ReceiveConnection method.

This means that if the owning pin proposes a media type, it is still checked to determine whether it is supported. This is deliberate so that, in simple cases, the enumerator can hold all media types, even if some are not currently available.

This member function is protected.

Header

dshow.h,
Streams.h

Library

ole32.lib,
Ole32auth.lib,
Strmbase.lib,
Strmiids.lib,
uuid.lib

Show: