Интерфейс IMFByteStreamBuffering (mfidl.h)

Управляет тем, как поток байтов буферизует данные из сети.

Чтобы получить указатель на этот интерфейс, вызовите QueryInterface для объекта потока байтов.

Наследование

Интерфейс IMFByteStreamBuffering наследуется от интерфейса IUnknown . IMFByteStreamBuffering также имеет следующие типы элементов:

Методы

Интерфейс IMFByteStreamBuffering содержит следующие методы.

 
IMFByteStreamBuffering::EnableBuffering

Включает или отключает буферизацию.
IMFByteStreamBuffering::SetBufferingParams

Задает параметры буферизации.
IMFByteStreamBuffering::StopBuffering

Останавливает буферизацию, которая выполняется.

Комментарии

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

Поток байтов, реализующий этот интерфейс, также должен реализовывать интерфейс IMFMediaEventGenerator . Когда поток байтов начинает буферизацию, он отправляет событие MEBufferingStarted . Когда буферизация прекращается, она отправляет событие MEBufferingStopped .

Поток байтов должен отправлять соответствующее событие MEBufferingStopped для каждого события MEBufferingStarted . Поток байтов не должен отправлять события MEBufferingStarted, если источник мультимедиа не включил буферизацию, вызвав EnableBuffering со значением TRUE.

После того как поток байтов отправляет событие MEBufferingStarted , он должен отправить MEBufferingStopped , если происходит какое-либо из следующих событий:

  • Поток байтов завершает буферизацию данных.
  • Поток байтов достигает конца потока.
  • Источник мультимедиа вызывает EnableBuffering со значением FALSE.
  • Источник мультимедиа вызывает StopBuffering.
Поток байтов не должен больше отправлять события буферизации после достижения конца файла.

Если буферизация отключена, поток байтов не отправляет никаких событий буферизации. Однако на внутреннем сервере он может по-прежнему буферивать данные, пока ожидает завершения запросов ввода-вывода. Таким образом, выполнение методов IMFByteStream может занять неопределенное время.

Если поток байтов внутренне буферизует данные, а источник мультимедиа вызывает EnableBuffering со значением TRUE, поток байтов может немедленно отправить MEBufferingStarted .

После начала презентации источник мультимедиа должен пересылать события и MEBufferingStarted и MEBufferingStopped , которые он получает во время запуска. Сеанс мультимедиа приостанавливает часы презентации во время буферизации и перезапускает часы презентации после завершения буферизации. Источник мультимедиа должен пересылать эти события только во время воспроизведения презентации. Цель отправки этих событий в сеанс мультимедиа заключается в том, чтобы приостановить время презентации, пока источник буферизует данные.

Требования

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

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

IMFByteStream

IMFByteStreamCacheControl

Интерфейсы Media Foundation