Partilhar via


ReceiveConnection

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize 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 em seu par a jusante, quando o novo formato exigir um buffer maior. O pino de saída faz o seguinte:

  1. As chamadas IPin::ReceiveConnection no pino 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, desconfirmar e confirmar novamente o alocador para alterar os tamanhos do buffer. Certifique-se de entregar todas as amostras pendentes no formato antigo antes de alterar o tamanho do buffer.

Alguns descodificadores MPEG-2 utilizam este mecanismo para alternar entre a saída MPEG-1 e MPEG-2 ou se o tamanho do vídeo mudar.