У меня есть фильтр DirectShow, написанный на Delphi 6 с использованием библиотеки компонентов DSPACK. В настоящее время я блокирую состояние фильтра, используя объект sync obj, созданный для этой цели в начале вызова FillBuffer (), и освобождаю его в конце (внутри секции finally конструкции try / finally). Поскольку вызов FillBuffer () может блокироваться при ожидании отправки новых данных, через вызов WaitForSingleObject (), который выпускается потоком, выполняющим задачу генерации данных, это плохая идея? Я обеспокоен тем, что, если FillBuffer () вызывает блокировку в течение (относительно) длительного времени, это может отрицательно повлиять на мой фильтр или весь график фильтра.