Информация об изменениях

Сообщение Re: MSVAD с поддержкой MEDIASUBTYPE_IEEE_FLOAT от 15.07.2017 13:09

Изменено 16.07.2017 12:14 Videoman

Re: MSVAD с поддержкой MEDIASUBTYPE_IEEE_FLOAT
Здравствуйте, 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


Может так?
Re: MSVAD с поддержкой MEDIASUBTYPE_IEEE_FLOAT
Здравствуйте, 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


Может так?