Método CBasePin.AgreeMediaType

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El AgreeMediaType método busca un tipo de medio para establecer una conexión de patilla.

Sintaxis

virtual HRESULT AgreeMediaType(
         IPin       *pReceivePin,
   const CMediaType *pmt
);

Parámetros

pReceivePin

Puntero a la interfaz IPin del pin receptor.

Pmt

Puntero a un objeto CMediaType que especifica un tipo de medio o NULL.

Valor devuelto

Devuelve un valor HRESULT . Entre los valores posibles se incluyen los de la tabla siguiente.

Código devuelto Descripción
S_OK
Correcto.
VFW_E_NO_ACCEPTABLE_TYPES
No se encontró ningún tipo de medio aceptable.

Observaciones

Si el parámetro pmt no es NULL y especifica completamente un tipo de medio, este método intenta una conexión mediante ese tipo de medio. Si se produce un error en el intento, el método devuelve un error.

Si el parámetro pmt es NULL o especifica un tipo de medio parcial, este método intenta los tipos de medios en el orden siguiente:

  1. Los tipos de medios preferidos del pin receptor.
  2. Este pin es el tipo de medio preferido.

Los tipos de medios preferidos se enumeran con el método CBasePin::EnumMediaTypes y el enumerador resultante se pasa al método CBasePin::TryMediaTypes .

Requisitos

Requisito Value
Encabezado
Amfilter.h (include Streams.h)
Biblioteca
Strmbase.lib (compilaciones comerciales);
Strmbasd.lib (compilaciones de depuración)

Consulte también

CBasePin (clase)