Метод IMFASFMultiplexer::P rocessSample (wmcontainer.h)

Доставляет входные примеры в мультиплексор.

Синтаксис

HRESULT ProcessSample(
  [in] WORD      wStreamNumber,
  [in] IMFSample *pISample,
  [in] LONGLONG  hnsTimestampAdjust
);

Параметры

[in] wStreamNumber

Номер потока, к которому принадлежит выборка.

[in] pISample

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

[in] hnsTimestampAdjust

Корректировка, применяемая к метке времени выборки. Этот параметр используется, если вызывающий объект хочет перенести время выборки на pISample. Это значение должно быть положительным, если метка времени должна быть отодвинуна вперед, и отрицательным, если метка времени должна быть отодвинуна назад. Эта метка времени добавляется к выборке времени в pISample, а результирующее время используется мультиплексором вместо исходного времени выборки. Если корректировка не требуется, присвойте этому значению значение 0.

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

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

Код возврата Описание
S_OK
Метод выполнен успешно.
MF_E_NOTACCEPTING
Существует слишком много пакетов, ожидающих извлечения из мультиплексера. Вызовите IMFASFMultiplexer::GetNextPacket , чтобы получить пакеты.
MF_E_BANDWIDTH_OVERRUN
Обработанный пример нарушает ограничения пропускной способности, указанные для потока в объекте ASF ContentInfo. При возникновении этой ошибки образец удаляется.
MF_E_INVALIDSTREAMNUMBER
Значение, переданное в wStreamNumber , является недопустимым.
MF_E_LATE_SAMPLE
Время презентации примера входного носителя раньше времени отправки.

Комментарии

Приложение передает примеры в ProcessSample, и мультиплексор ASF помещает их в очередь, пока они не будут готовы к размещению в пакетах ASF. Вызовите IMFASFMultiplexer::GetNextPacket , чтобы получить пакет данных ASF.

После каждого вызова ProcessSample вызовите GetNextPacket в цикле, чтобы получить все доступные пакеты данных. Пример кода см. в разделе Создание новых пакетов данных ASF.

Требования

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

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

Создание новых пакетов данных ASF

IMFASFMultiplexer

IMFSample