Partilhar via


Receiveconnection

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na 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 Captura de Áudio/Vídeo no 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.]

Esse mecanismo permite que um pino de saída proponha uma alteração de formato para seu par downstream, quando o novo formato requer um buffer maior. O pino de saída faz o seguinte:

  1. Chama IPin::ReceiveConnection no pin de entrada downstream.
  2. Se ReceiveConnection for bem-sucedido, chamará IMemInputPin::NotifyAllocator no pin de entrada.

Além disso, o pin de saída pode precisar chamar IMemAllocator::SetProperties e, em seguida, descompromissar e recomiter o alocador para alterar os tamanhos do buffer. Certifique-se de entregar todos os exemplos pendentes no formato antigo antes de alterar o tamanho do buffer.

Alguns decodificadores MPEG-2 usam esse mecanismo para alternar entre a saída MPEG-1 e MPEG-2 ou se o tamanho do vídeo for alterado.