Поделиться через


Метод IMFASFSplitter::P arseData (wmcontainer.h)

Отправляет пакетированные данные расширенного формата систем (ASF) в разделитель ASF для обработки.

Синтаксис

HRESULT ParseData(
  [in] IMFMediaBuffer *pIBuffer,
  [in] DWORD          cbBufferOffset,
  [in] DWORD          cbLength
);

Параметры

[in] pIBuffer

Указатель на интерфейс IMFMediaBuffer объекта буфера, содержащего данные для анализа.

[in] cbBufferOffset

Смещение в буфере данных, где разделитель должен начать синтаксический анализ. Обычно это значение равно 0.

[in] cbLength

Длина анализируемых данных в байтах. Это значение измеряется по смещению, заданному параметром cbBufferOffset. Задайте значение 0, чтобы обработать до конца буфера.

Возвращаемое значение

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
E_INVALIDARG
Параметр pIBuffer имеет значение NULL.

Указанное значение смещения в cbBufferOffset больше длины буфера.

Общее значение cbBufferOffset и cbLength больше длины буфера.

MF_E_NOT_INITIALIZED
Метод IMFASFSplitter::Initialize не был вызван или вызов завершился ошибкой.
MF_E_NOTACCEPTING
В настоящее время разделитель не может обработать дополнительные входные данные.

Комментарии

После использования этого метода для анализа данных необходимо вызвать IMFASFSplitter::GetNextSample , чтобы получить проанализированные примеры мультимедиа.

Если данные ASF содержат пакеты переменной величины, необходимо задать атрибут MFASFSPLITTER_PACKET_BOUNDARY в буферах, чтобы указать границы выборки, и буферы не могут охватывать несколько пакетов.

Если метод возвращает ME_E_NOTACCEPTING, вызовите Метод GetNextSample , чтобы получить выходные образцы, или вызовите IMFASFSplitter::Flush , чтобы очистить разделитель.

Разделитель может содержать счетчик ссылок во входном буфере. Поэтому не записывайте допустимые данные в буфере после вызова этого метода.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header wmcontainer.h
Библиотека Mfuuid.lib

См. также раздел

Разделитель ASF

IMFASFSplitter