Я построил следующий график в GraphEdit: Logitech Webcam -> Infinite Tee Pin Filter -> VideoRenderer. Это прекрасно работает (с GraphEdit автоматически вставляет несколько промежуточных фильтров между фильтром TEe и фильтром VideoRenderer).
Я пытался сделать то же самое в коде, и он не работает при попытке подключить фильтр Tee к VideoRenderer. Сначала я подключаю веб-камеру к тройному фильтру, который работает (веб-камера включается, и я получаю S_OK), а затем пытаюсь подключить один выходной контакт из тройного фильтра к первому, что не удается (ошибка заключается в том, что не найти набор промежуточных фильтров для их подключения). Я пытался соединить их как с IGraphBuilder :: Connect, так и с ICaptureGraphBuilder2 :: RenderStream, с тем же эффектом. Для перечисления выводов я использую hr = _CaptureGraphBuilder.FindPin (theFilter, PinDirection.Input, null, null, true, 0, out ofPin); для видео рендерера, и то же самое, за исключением PinDirection.Output для Tee Filter (это в C #, но конструкция точно соответствует C ++).
Есть идеи?