Поделиться через


ReceiveConnection

[Функция, связанная с этой страницей, DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngineи аудио и видеозахват в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer, IMFMediaEngine и аудио-видеозахват в Media Foundation вместо DirectShowпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]

Этот механизм позволяет пин-коду вывода предложить изменение формата в подчиненный одноранговый узел, когда для нового формата требуется более крупный буфер. Выходной закрепление выполняет следующее:

  1. Вызывает IPin::ReceiveConnection на нижнем входном пин-коде.
  2. Если ReceiveConnection успешно, вызовы IMemInputPin::NotifyAllocator на входной закреплении.

Кроме того, выходной пин-код может потребоваться вызвать IMemAllocator::SetProperties, а затем отменить и повторно закомментировать распределитель, чтобы изменить размер буфера. Перед изменением размера буфера перед изменением размера буфера обязательно предоставьте все ожидающие примеры в старом формате.

Некоторые декодеры MPEG-2 используют этот механизм для переключения между выходными данными MPEG-1 и MPEG-2 или при изменении размера видео.