| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > VMR-9 VFW_E_SAMPLE_REJECTED |
| Автор: Helene 25.7.2006, 17:26 |
| Пишу свой фильтр, аналогичный Infinite Tee. Base Classes не использую вообще, т.е. имеется своя реализация IPin, IBaseFilter etc. Принцип работы фильтра. С точки зрения других фильтров в графе, tee как-будто не существует. Он никак не преобразовывает поток, использует чужие аллокаторы, все, что приходит к нему на вход, он передает на выход. Собственно, в чем проблема. Граф "камера + tee + avi декомпрессор + VMR-9" работает отлично. Граф "камера + avi декомпрессор + tee + VMR-9" нет. Обращение ко входному пину рендерера Receive(aSample) возвращает ошибку VFW_E_SAMPLE_REJECTED. Свойства рендерера говорят, что он не обработал ни один кадр. В чем может быть проблема? |
| Автор: Helene 25.7.2006, 19:45 |
| Проблема решена. Ее краткая суть: При коннекте декомпрессора и tee-фильтра используется аллокатор, созданный tee. При коннекте tee и рендерера нужно использовать аллокатор, предоставляемый рендерером. После успешного коннекта tee и рендерера соединение декомпрессора и tee нужно передергивать всегда, а у меня было только, если нужно изменить медиа-тип соединения. |