| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > DMO-фильтр DirectShow |
| Автор: AndreySol 14.8.2006, 23:26 | ||||||
| Такая хрень: создаю DMO-фильтр
подключаю интерфейс IDMOWrapperFilter
и устанавливаю через его единственный метод нужный мне єффект - эквалайзер
Эквалайзер нормально работает, но с одной оговоркой - он принимает РСМ с частотой 44 кГц. Нашел в DXSDK интерфейс IMediaObject, написано вроде как специально для работы с DMO-объектами. У него есть метод SetInputType, который может протестировать и установить тип сигнала. Ну естественно решил попробовать и получилось следующее: если пробую подключить интерфейс после инициализации фильтра нужным ээфектом, то на вызове метода SetInputType - получаю ошибку "Действие не может быть выполнено, т.к. фильтр уже используется". Если же пробую подключить интерфейс до инициализации то ошибка уже на подключении интерфейса - "Интерфейс не поддерживается". Как с этим бороться ? А если бороться бесполезно, то может кто знает как заставить фильтр принять любые другие форматы РСМ. |