Compartilhar via


Interface IOverlay (strmif.h)

[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.]

A IOverlay interface fornece informações para que um filtro possa gravar diretamente na memória de vídeo ao colocar o vídeo na posição correta da janela. Ele é implementado no pino de entrada do renderizador de vídeo e se comunica com um filtro de upstream (normalmente um descompactador de vídeo) chamando os métodos IOverlayNotify desse filtro para notificá-lo de alterações na janela de vídeo.

Essa interface não tem relação com a funcionalidade de sobreposição do DirectDraw®. O renderizador de vídeo da Microsoft desenha dados que recebe por meio da interface IMemInputPin , usando sobreposições do DirectDraw quando disponível. Essa interface, usada no lugar de IMemInputPin, destina-se a fornecer suporte de notificação para qualquer filtro de upstream que ignore os recursos de desenho do renderizador, mas precise de notificações de outras propriedades de exibição.

Consulte a página de referência IOverlayNotify para obter mais informações sobre como as IOverlay interfaces e IOverlayNotify funcionam juntas.

Consulte a interface IOverlayNotify2 para obter mais informações sobre notificações assíncronas de alterações na janela de renderização.

Essa interface é implementada no filtro do renderizador de vídeo do Microsoft® DirectShow®. Ele também pode ser implementado em filtros de renderizador de vídeo de substituição, se desejado. Se isso for feito, implemente essa interface para que os filtros que gravam diretamente no buffer de quadros ou tentem posicionar uma sobreposição saibam onde exibir o vídeo. Para implementar essa interface, o renderizador deve estar preparado para usar métodos na interface IOverlayNotify ou na interface IOverlayNotify2 do filtro que está fazendo o desenho, com notificações de alterações de propriedade de vídeo.

O renderizador baseado em janela no DirectShow dá suporte às interfaces IMemInputPin e IOverlay . Essas duas interfaces são mutuamente exclusivas. Um filtro opta por usar o transporte IOverlay fornecendo um tipo de mídia durante a conexão que tem um subtipo de MEDIASUBTYPE_Overlay. Após a conexão, ele poderá obter e usar a IOverlay interface com êxito. Se ele se conectar a outros formatos de vídeo (como MEDIASUBTYPE_RGB8), tentar chamar por meio IOverlay de retornará VFW_E_NOT_OVERLAY_CONNECTION.

Use os métodos nessa função de um filtro de upstream que deve controlar as propriedades de sobreposição de vídeo e pretende manipular a exibição dos próprios dados de vídeo. Normalmente, isso é usado por decodificadores de vídeo de hardware que têm uma conexão alternativa com o hardware de vídeo.

Herança

A interface IOverlay herda da interface IUnknown . O IOverlay também tem estes tipos de membros:

Métodos

A interface IOverlay tem esses métodos.

 
IOverlay::Advise

O método Advise configura um link de consultoria para os eventos de sobreposição especificados pelo parâmetro dwInterests.
IOverlay::GetClipList

O método GetClipList recupera a lista de recortes.
IOverlay::GetColorKey

O método GetColorKey recupera a chave de cor atual usada para chave de croma.
IOverlay::GetDefaultColorKey

O método GetDefaultColorKey recupera a chave de cor padrão usada para uma sobreposição de chave chroma.
IOverlay::GetPalette

O método GetPalette recupera a paleta do sistema atual.
IOverlay::GetVideoPosition

O método GetVideoPosition recupera os retângulos de origem e destino de vídeo atuais.
IOverlay::GetWindowHandle

O método GetWindowHandle recupera o identificador de janela atual.
IOverlay::SetColorKey

O método SetColorKey altera a chave de cor.
IOverlay::SetPalette

O método SetPalette define a paleta.
IOverlay::Unadvise

O método Unadvise encerra o link de consultoria estabelecido com a interface IOverlayNotify.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho strmif.h (inclua Dshow.h)