Как я могу определить, какой фильтр в моем графике фильтра DirectShow завершился неудачно, когда я вызываю IMediaControlRun? - PullRequest
1 голос
/ 18 ноября 2011

У меня есть приложение Delphi 6, использующее библиотеку компонентов DSPACK, которая создает график фильтра и затем запускает его. Когда я запускаю график фильтра, я получаю ошибку через не удалось HRESULT возврат из IMediaControl.Run (), используя состояние события управления cePlay. Я знаю, что могу использовать код ошибки HRESULT, чтобы угадать, какой фильтр вышел из строя, но я хотел бы найти лучший способ. Есть ли способ узнать, какой фильтр вызвал ошибку, когда IMediaControl.Run (csPlay) возвращает ошибочный код HRESULT, через вызов DirectShow или последовательность вызовов?

1 Ответ

1 голос
/ 19 ноября 2011

Нет способа узнать, вы только перенаправили код ошибки из какого-то фильтра. Лучшая стратегия для двойной стрельбы - это упростить график и изолировать проблему.

...