Compartir a través de


Método CSourceStream.GetMediaType (Source.h): parámetros iPosition y pMediaType

[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 método GetMediaType recupera un tipo multimedia preferido.

Sintaxis

virtual HRESULT GetMediaType(
   int        iPosition,
   CMediaType *pMediaType
);

Parámetros

iPosition

Valor de índice de base cero.

pMediaType

Puntero a un objeto CMediaType que recibe el tipo de medio.

Valor devuelto

Devuelve uno de los valores HRESULT que se muestran en la tabla siguiente.

Código devuelto Descripción
S_OK
Correcto.
VFW_S_NO_MORE_ITEMS
Índice fuera del intervalo.
E_INVALIDARG
Índice menor que cero.
E_UNEXPECTED
error inesperado.

Observaciones

Hay dos versiones de este método. Una versión invalida el método CBasePin::GetMediaType y toma un valor de índice como parámetro. La otra versión está diseñada para recuperar un único tipo de medio, por lo que carece del parámetro de índice.

El método de parámetro único devuelve E_UNEXPECTED. El método de dos parámetros comprueba que el parámetro iPosition es cero y, a continuación, llama a la versión de parámetro único. Dependiendo del número de tipos multimedia que admite el pin, debe invalidar uno de estos métodos:

  • Si el pin admite exactamente un tipo de medio, invalide la versión de parámetro único. Rellene el tipo de medio que admite la patilla.
  • Si el pin admite más de un tipo de medio, invalide la versión de dos parámetros. Invalide también el método CSourceStream::CheckMediaType .

Requisitos

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

Consulte también

CSourceStream (clase)