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


Метод IMFSinkWriter::P laceMarker (mfreadwrite.h)

Places маркер в указанном потоке.

Синтаксис

HRESULT PlaceMarker(
  [in] DWORD  dwStreamIndex,
  [in] LPVOID pvContext
);

Параметры

[in] dwStreamIndex

Отсчитываемый от нуля индекс потока.

[in] pvContext

Указатель на определяемое приложением значение. Значение этого параметра возвращается вызывающей стороне в параметре pvContext метода обратного вызова IMFSinkWriterCallback::OnMarker вызывающего объекта. Приложение отвечает за выделение памяти, связанное с данными. Этот параметр может принимать значение NULL.

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

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

Код возврата Описание
S_OK
Метод выполнен успешно.
MF_E_INVALIDREQUEST
Недопустимый запрос.

Комментарии

Чтобы использовать этот метод, необходимо предоставить асинхронный обратный вызов при создании модуля записи приемника. В противном случае метод возвращает MF_E_INVALIDREQUEST. Дополнительные сведения см. в разделе MF_SINK_WRITER_ASYNC_CALLBACK.

Маркеры позволяют получать уведомления, когда приемник мультимедиа использует все выборки в потоке до определенного момента. Приемник мультимедиа не обрабатывает маркер, пока не обработает все образцы, которые были до маркера. Когда приемник мультимедиа обрабатывает маркер, модуль записи приемника вызывает метод OnMarker приложения. При вызове обратного вызова известно, что приемник использовал все предыдущие примеры для этого потока.

Например, чтобы изменить формат в середине потока, вызовите PlaceMarker в точке изменения формата. При вызове OnMarker можно безопасно вызвать IMFSinkWriter::SetInputMediaType , чтобы изменить тип входных данных (при условии, что приемник мультимедиа поддерживает динамические изменения формата).

Внутри системы этот метод вызывает IMFStreamSink::P laceMarker в приемнике мультимедиа.

Примечание Параметр pvContext метода IMFSinkWriter::P laceMarker не передается параметру pvarContextValue метода IMFStreamSink::P laceMarker . Эти два параметра не связаны напрямую.
 

Этот интерфейс доступен в Windows Vista, если установлено дополнение к обновлению платформы для Windows Vista.

Требования

Требование Значение
Минимальная версия клиента Windows 7, Windows Vista и дополнение к обновлению платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mfreadwrite.h

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

IMFSinkWriter

Модуль записи приемника