Здравствуйте, Vicul, Вы писали:
V>Если просто заменить KSDATAFORMAT_SUBTYPE_PCM на KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, драйвер установиться, но DirectShow его не увидит.
V>Идеи?
В драйверах, с этим, дела не имел, но, например, в DirectShow с таким типом тоже никто не соединится. Может быть тут по аналогии нужно: тип у IEEE_FLOAT все-равно PCM всегда указывается ( KSDATAFORMAT_SUBTYPE_PCM) а вот уже вместо WaveFormatEx подсовывается WAVEFORMATEXTENSIBLE и уже там указывается конкретный subtype (KSDATAFORMAT_SUBTYPE_IEEE_FLOAT).
если для AM_MEDIA_TYPE:
majortype = MEDIATYPE_AUDIO;
subtype = MEDIASUBTYPE_PCM; // (всегда для всех PCM)
//...
formattype = FORMAT_WaveFormatEx;
// а уже формат заполнить правильно с WAVEFORMATEXTENSIBLE где указывается правильный тип, например MEDIASUBTYPE_IEEE_FLOT;
IA
Может так?