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

Извлекает пример из разделима Advanced Systems Format (ASF) после анализа данных.

Синтаксис

HRESULT GetNextSample(
  [out] DWORD     *pdwStatusFlags,
  [out] WORD      *pwStreamNumber,
  [out] IMFSample **ppISample
);

Параметры

[out] pdwStatusFlags

Получает одно из следующих значений.

Значение Значение
ASF_STATUSFLAGS_INCOMPLETE
Дополнительные примеры готовы к извлечению. Вызовите Метод GetNextSample в цикле, пока параметр pdwStatusFlags не получит нулевое значение.
Нуль
Дополнительные примеры не готовы. Вызовите IMFASFSplitter::P arseData , чтобы предоставить больше входных данных в разделитель.

[out] pwStreamNumber

Если метод возвращает образец в параметре ppISample , этот параметр получает номер потока, к которому принадлежит выборка.

[out] ppISample

Получает указатель на интерфейс IMFSample проанализированной выборки. Вызывающий объект должен освободить интерфейс . Если примеры не готовы, этот параметр получает значение NULL.

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

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

Код возврата Описание
S_OK
Метод выполнен успешно.
MF_E_ASF_INVALIDDATA
Недопустимые данные ASF в буфере.
MF_E_ASF_MISSINGDATA
В данных ASF есть пробел.

Комментарии

Перед вызовом этого метода вызовите IMFASFSplitter::P arseData , чтобы передать входные данные в разделитель. Если входные данные не содержат достаточно данных для полной выборки, метод GetNextSample завершается успешно, но возвращает значение NULL в параметре ppISample .

Разделитель ASF пропускает выборки для невыбранных потоков. Чтобы выбрать потоки, вызовите IMFASFSplitter::SelectStreams.

Требования

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

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

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

IMFASFSplitter