Фильтр модуля записи WM ASF (пакет SDK для Windows Media в формате 11)
[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией. Она была заменена средствами чтения источника и модуля записи приемников. Средство чтения источника и модуль записи приемников оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде средство чтения исходного кода и модуль записи приемников вместо пакета SDK для Windows Media Format 11, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Фильтр модуля записи WM ASF принимает переменное количество входных потоков и создает ASF-файл. Фильтр обрабатывает все сжатие и мультиплексирование (хотя механизм сжатия можно обойти). Фильтр модуля записи WM ASF можно использовать в различных сценариях, включая запись цифрового видео (DV), повторную сжатие звука и преобразование файлов мультимедиа Audio-Video interleaved (AVI) или MPEG digital media files для потоковой передачи по сети. Этот фильтр предоставляет единственный способ создания файлов Microsoft Windows Media Audio и Windows Media Video в DirectShow.
Дополнительные сведения см. в разделе Создание ASF-файлов в DirectShow.
В следующей таблице содержатся сведения о фильтре модуля записи WM ASF, такие как поддерживаемые интерфейсы и типы мультимедиа.
Сведения о фильтре | Типы |
---|---|
Интерфейсы фильтрации | IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPages, IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2 |
Типы носителей входных контактов | Зависит от профиля. Обычно это несжатые типы, такие как MEDIATYPE_Audio или MEDIATYPE_Video, хотя сжатые типы могут приниматься, если они соответствуют профилю. |
Интерфейсы входных контактов | IPin, IMemInputPin, IAMStreamConfig, IServiceProvider, IAMWMBufferPass, IWMStreamConfig2 (через IServiceProvider) |
Выходные типы носителей контактов | Неприменимо |
Интерфейсы вывода контактов | Неприменимо |
Фильтрация CLSID | CLSID_WMAsfWriter |
Страница свойств CLSID | CLSID_WMAsfWriterProperties |
Исполняемый файл | Qasf.dll |
Заслуга | MERIT_DO_NOT_USE |
Категория фильтра | Не указано |
Комментарии
Количество входных контактов в фильтре зависит от профиля, передаваемого фильтру. Для каждого потока, определенного в профиле, создается один контакт соответствующего типа мультимедиа.
Входные контакты поддерживают один метод из интерфейса IAMStreamConfig : IAMStreamConfig::GetFormat. Все остальные методы возвращают E_NOTIMPL. Вызовите метод GetFormat , чтобы запросить целевой формат сжатия пин-кода, который определяется текущим профилем. Используйте интерфейс IConfigAsfWriter , чтобы задать профиль.
Интерфейс IServiceProvider фильтра позволяет приложениям получать интерфейс IWMWriterAdvanced2 , определенный в пакете SDK для формата Windows Media. Интерфейс IWMWriterAdvanced2 управляет деинтерлейзированием видео и полезен, если входные данные являются источником с чередованием , например DV (цифровое видео). Используйте методы GetInputSetting и SetInputSetting для управления деинтерлейсингом. Клиентам не рекомендуется использовать другие методы в этом интерфейсе. Этот интерфейс можно получить только после добавления фильтра в граф фильтра. В следующем примере показано, как запросить этот интерфейс:
// Assume that m_pGraph is a valid IGraphBuilder interface pointer,
// and that pAsfWriter points to the IBaseFilter interface
// on the WM ASF Writer filter.
IServiceProvider *pProvider = NULL;
IWMWriterAdvanced2 *pWMWA2 = NULL;
hr = m_pGraph->AddFilter(pAsfWriter, L"WM ASF Writer");
...
hr = pAsfWriter->QueryInterface(IID_IServiceProvider, (void**)&pProvider)
if (SUCCEEDED(hr))
{
hr = pProvider->QueryService(IID_IWMWriterAdvanced2,
IID_IWMWriterAdvanced2, (void**)&pWMWA2);
pProvider->Release();
}
Связанные темы