Compartilhar via


ReceiveConnection

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture 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 Audio/Video Capture 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 exigir um buffer maior. O pino de saída faz o seguinte:

  1. Chamadas IPin::ReceiveConnection no pin de entrada downstream.
  2. Se ReceiveConnection for bem-sucedido, as chamadas IMemInputPin::NotifyAllocator no pino de entrada.

Além disso, o pino de saída pode precisar chamar IMemAllocator::SetProperties e, em seguida, decodificar e comprometer novamente 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.