Compartilhar via


Interface IOverlayNotify (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 IOverlayNotify interface fornece um filtro upstream, como um decodificador, com notificações de alterações na janela de renderização. Isso inclui notificações de alterações na paleta, na tecla de cor e na posição da janela e nas alterações de região visível (recorte).

A maioria dos decodificadores de vídeo de software permite que o renderizador de vídeo desenhe as imagens descompactadas que produzem passando os exemplos de mídia para a interface IMemInputPin no pin de entrada do renderizador.

No entanto, alguns filtros de decodificação de vídeo (normalmente placas de descompactação de hardware) lidam com o desenho das próprias imagens, talvez usando um conector VGA. Esses filtros não precisam usar IMemInputPin, mas podem usar a interface IOverlay fornecida pelo pino de entrada do renderizador. Por meio dessa interface, o decodificador pode ser notificado quando a posição ou o tamanho da janela é alterado ou quando a paleta do sistema atual é alterada para instalar e alterar as paletas e as teclas de cor.

Os decodificadores que fazem seu próprio desenho devem implementar as IOverlayNotify interfaces e IOverlayNotify2 . O renderizador usa essa interface para notificar o decodificador sempre que o tamanho ou a posição da janela é alterado, a paleta do sistema é alterada ou uma chave de cor diferente é usada. O decodificador deve chamar o método IOverlay::Advise no pin de entrada do renderizador para configurar o retorno de chamada. Depois que o retorno de chamada é estabelecido, o renderizador chama os métodos do IOverlayNotify decodificador quando ocorrem os eventos apropriados. Para cancelar o retorno de chamada, use o método IOverlay::Unadvise .

O renderizador de vídeo é o único filtro que chama os métodos nessa interface. Isso é feito automaticamente pelo renderizador de vídeo padrão. Se você estiver escrevendo um renderizador de vídeo substituto, precisará usar os métodos nessa interface se o filtro der suporte a IOverlay e essa interface for passada para o filtro em uma chamada IOverlay::Advise .

Herança

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

Métodos

A interface IOverlayNotify tem esses métodos.

 
IOverlayNotify::OnClipChange

O método OnClipChange fornece uma notificação de que a região visível da janela foi alterada. É essencial que qualquer hardware de sobreposição seja atualizado para refletir a alteração na região visível antes de retornar desse método.
IOverlayNotify::OnColorKeyChange

O método OnColorKeyChange fornece uma notificação de que a chave de cor da janela foi alterada.
IOverlayNotify::OnPaletteChange

O método OnPaletteChange fornece uma notificação de que a paleta da janela foi alterada.
IOverlayNotify::OnPositionChange

O método OnPositionChange fornece uma notificação de que a posição foi alterada.

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)