Antarmuka IMFByteStreamBuffering (mfidl.h)

Mengontrol bagaimana byte stream buffer data dari jaringan.

Untuk mendapatkan penunjuk ke antarmuka ini, panggil QueryInterface pada objek aliran byte.

Warisan

Antarmuka IMFByteStreamBuffering mewarisi dari antarmuka IUnknown . IMFByteStreamBuffering juga memiliki jenis anggota ini:

Metode

Antarmuka IMFByteStreamBuffering memiliki metode ini.

 
IMFByteStreamBuffering::EnableBuffering

Mengaktifkan atau menonaktifkan buffering.
IMFByteStreamBuffering::SetBufferingParams

Mengatur parameter buffering.
IMFByteStreamBuffering::StopBuffering

Menghentikan buffering apa pun yang sedang berlangsung.

Keterangan

Jika aliran byte mengimplementasikan antarmuka ini, sumber media dapat menggunakannya untuk mengontrol bagaimana byte stream buffer data. Antarmuka ini dirancang untuk aliran byte yang membaca data dari jaringan.

Aliran byte yang mengimplementasikan antarmuka ini juga harus mengimplementasikan antarmuka IMFMediaEventGenerator . Saat aliran byte mulai buffering, aliran byte mengirimkan peristiwa MEBufferingStarted . Ketika berhenti buffering, ia mengirim peristiwa MEBufferingStopped .

Aliran byte harus mengirim peristiwa MEBufferingStopped yang cocok untuk setiap peristiwa MEBufferingStarted . Aliran byte tidak boleh mengirim peristiwa MEBufferingStarted kecuali sumber media telah mengaktifkan buffering dengan memanggil EnableBuffering dengan nilai TRUE.

Setelah aliran byte mengirim peristiwa MEBufferingStarted , aliran tersebut harus mengirim MEBufferingStopped jika salah satu hal berikut ini terjadi:

  • Aliran byte menyelesaikan data buffering.
  • Aliran byte mencapai akhir aliran.
  • Sumber media memanggil EnableBuffering dengan nilai FALSE.
  • Sumber media memanggil StopBuffering.
Aliran byte tidak boleh mengirim peristiwa buffering lagi setelah mencapai akhir file.

Jika buffering dinonaktifkan, aliran byte tidak mengirim peristiwa buffering apa pun. Namun, secara internal, data mungkin masih buffer saat menunggu permintaan I/O selesai. Oleh karena itu, metode IMFByteStream mungkin membutuhkan waktu yang tidak terbatas untuk diselesaikan.

Jika aliran byte menyangga data secara internal dan sumber media memanggil EnableBuffering dengan nilai TRUE, aliran byte dapat segera mengirim MEBufferingStarted .

Setelah presentasi dimulai, sumber media harus meneruskan dan peristiwa MEBufferingStarted dan MEBufferingStopped yang diterimanya saat dimulai. Sesi Media akan menjeda jam presentasi saat buffering sedang berlangsung dan memulai ulang jam presentasi saat buffering selesai. Sumber media seharusnya hanya meneruskan peristiwa ini saat presentasi sedang diputar. Tujuan pengiriman peristiwa ini ke Sesi Media adalah untuk menjeda waktu presentasi saat sumber buffer data.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header mfidl.h

Lihat juga

IMFByteStream

IMFByteStreamCacheControl

Antarmuka Media Foundation