Share via


IMFByteStreamBuffering-Schnittstelle (mfidl.h)

Steuert, wie ein Bytestream Daten aus einem Netzwerk puffert.

Um einen Zeiger auf diese Schnittstelle zu erhalten, rufen Sie QueryInterface für das Bytestreamobjekt auf.

Vererbung

Die IMFByteStreamBuffering-Schnittstelle erbt von der IUnknown-Schnittstelle . IMFByteStreamBuffering verfügt auch über folgende Membertypen:

Methoden

Die IMFByteStreamBuffering-Schnittstelle verfügt über diese Methoden.

 
IMFByteStreamBuffering::EnableBuffering

Aktiviert oder deaktiviert die Pufferung.
IMFByteStreamBuffering::SetBufferingParams

Legt die Pufferparameter fest.
IMFByteStreamBuffering::StopBuffering

Beendet jegliche Pufferung, die gerade ausgeführt wird.

Hinweise

Wenn ein Bytedatenstrom diese Schnittstelle implementiert, kann sie von einer Medienquelle verwendet werden, um zu steuern, wie der Bytedatenstrom Daten puffert. Diese Schnittstelle ist für Bytestreams konzipiert, die Daten aus einem Netzwerk lesen.

Ein Bytestream, der diese Schnittstelle implementiert, sollte auch die IMFMediaEventGenerator-Schnittstelle implementieren. Wenn der Bytestream mit der Pufferung beginnt, sendet er ein MEBufferingStarted-Ereignis . Wenn die Pufferung beendet wird, wird ein MEBufferingStopped-Ereignis gesendet .

Der Bytedatenstrom muss für jedes MEBufferingStarted-Ereignis ein übereinstimmendes MEBufferingStopped-Ereignis senden. Der Bytedatenstrom darf keine MEBufferingStarted-Ereignisse senden, es sei denn, die Medienquelle hat die Pufferung durch Aufrufen von EnableBuffering mit dem Wert TRUE aktiviert.

Nachdem der Bytedatenstrom ein MEBufferingStarted-Ereignis gesendet hat , sollte meBufferingStopped gesendet werden , wenn eines der folgenden Ereignisse auftritt:

  • Der Bytestream schließt die Pufferung von Daten ab.
  • Der Bytestream erreicht das Ende des Datenstroms.
  • Die Medienquelle ruft EnableBuffering mit dem Wert FALSE auf.
  • Die Medienquelle ruft StopBuffering auf.
Der Bytedatenstrom sollte keine puffernden Ereignisse mehr senden, nachdem er das Ende der Datei erreicht hat.

Wenn die Pufferung deaktiviert ist, sendet der Bytedatenstrom keine Pufferereignisse. Intern kann es jedoch weiterhin Daten puffern, während auf den Abschluss von E/A-Anforderungen gewartet wird. Daher kann der Abschluss von IMFByteStream-Methoden unbestimmte Zeit in Anspruch nehmen.

Wenn der Bytedatenstrom daten intern puffert und die Medienquelle EnableBuffering mit dem Wert TRUE aufruft, kann der Bytedatenstrom MEBufferingStarted sofort senden.

Nachdem die Präsentation gestartet wurde, sollte die Medienquelle die Ereignisse MEBufferingStarted und MEBufferingStopped weiterleiten, die sie beim Start empfängt. Die Mediensitzung hält die Präsentationsuhr an, während die Pufferung fortschritt ist, und startet die Präsentationsuhr neu, wenn die Pufferung abgeschlossen ist. Die Medienquelle sollte diese Ereignisse nur weiterleiten, während die Präsentation wiedergegeben wird. Der Zweck des Sendens dieser Ereignisse an die Mediensitzung besteht darin, die Präsentationszeit anzuhalten, während die Quelle Daten puffert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile mfidl.h

Weitere Informationen

IMFByteStream

IMFByteStreamCacheControl

Media Foundation-Schnittstellen