Método CSourceStream.GetMediaType (Source.h) – parâmetros iPosition e pMediaType

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O método GetMediaType recupera um tipo de mídia preferencial.

Sintaxe

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

Parâmetros

iPosition

Valor de índice baseado em zero.

pMediaType

Ponteiro para um objeto CMediaType que recebe o tipo de mídia.

Retornar valor

Retorna um dos valores HRESULT mostrados na tabela a seguir.

Código de retorno Descrição
S_OK
Êxito.
VFW_S_NO_MORE_ITEMS
Índice fora do intervalo.
E_INVALIDARG
Índice menor que zero.
E_UNEXPECTED
Erro inesperado.

Comentários

Há duas versões desse método. Uma versão substitui o método CBasePin::GetMediaType e usa um valor de índice como parâmetro. A outra versão foi projetada para recuperar um único tipo de mídia, portanto, ela não tem o parâmetro de índice.

O método de parâmetro único retorna E_UNEXPECTED. O método de dois parâmetros verifica se o parâmetro iPosition é zero e, em seguida, chama a versão de parâmetro único. Dependendo do número de tipos de mídia compatíveis com o pin, você deve substituir um destes métodos:

  • Se o pin der suporte a exatamente um tipo de mídia, substitua a versão de parâmetro único. Preencha o tipo de mídia compatível com o pino.
  • Se o pin der suporte a mais de um tipo de mídia, substitua a versão de dois parâmetros. Substitua também o método CSourceStream::CheckMediaType .

Requisitos

Requisito Valor
parâmetro Source.h (inclua Streams.h)
Biblioteca Strmbase.lib (builds de varejo); Strmbasd.lib (builds de depuração)

Confira também

Classe CSourceStream