Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DirectShow: как правильно написать входной Pin? 
:(
    Опции темы
Dims
Дата 6.1.2010, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: нет
Всего: 11



Из фильтра Dumb примера я вижу, что должна быть переопределена функция

Код

HRESULT GetMediaType(int iPosition, CMediaType *pMediaType);


Внутри этой функции я заполняю посланный мне объект pMediaType, чтобы сообщить, какие типы я готов принять.

Однако, я заполняю его не полностью и у меня возникает ошибка -- графбильдер не может подобрать цепочку фильтров для преобразования.

Что, разве нельзя заполнить структуру не полностью? Я обязан указать все параметры? Я хочу принимать любой формат FORMAT_WaveFormatEx. Мне что, всё равно надо все поля структуры WAVEFORMATEX заполнять?

Добавлено через 13 минут и 24 секунды
Вроде бы, теперь формат задал точно, а соединения не происходит. Может, ещё какие-то условия есть?
PM MAIL   Вверх
AndreySol
Дата 11.1.2010, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 19.6.2004

Репутация: нет
Всего: 1



Ну вообще-то принимаемые пином типы данных задаются в методе CheckMediaType.
Вот пример:
HRESULT CPsiParserInputPin::CheckMediaType(const CMediaType *pMediaType)
{
    if( *(pMediaType->Type()) == MY_MEDIATYPE_MPEG2_SECTIONS ||
        *(pMediaType->Type()) == MEDIATYPE_MPEG2PSI)
    {
        return S_OK;
    }

    return VFW_E_INVALIDMEDIATYPE;
} // CheckMediaType
А метод GetMediaType скорее всего "информациионного" типа.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0381 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.