Partager via


Interface IMFByteStreamBuffering (mfidl.h)

Contrôle la façon dont un flux d’octets met en mémoire tampon les données d’un réseau.

Pour obtenir un pointeur vers cette interface, appelez QueryInterface sur l’objet de flux d’octets.

Héritage

L’interface IMFByteStreamBuffering hérite de l’interface IUnknown. IMFByteStreamBuffering a également les types de membres suivants :

Méthodes

L’interface IMFByteStreamBuffering a ces méthodes.

 
IMFByteStreamBuffering ::EnableBuffering

Active ou désactive la mise en mémoire tampon.
IMFByteStreamBuffering ::SetBufferingParams

Définit les paramètres de mise en mémoire tampon.
IMFByteStreamBuffering ::StopBuffering

Arrête toute mise en mémoire tampon en cours.

Remarques

Si un flux d’octets implémente cette interface, une source multimédia peut l’utiliser pour contrôler la façon dont le flux d’octets met en mémoire tampon les données. Cette interface est conçue pour les flux d’octets qui lisent des données à partir d’un réseau.

Un flux d’octets qui implémente cette interface doit également implémenter l’interface IMFMediaEventGenerator . Lorsque le flux d’octets démarre la mise en mémoire tampon, il envoie un événement MEBufferingStarted . Lorsqu’il arrête la mise en mémoire tampon, il envoie un événement MEBufferingStopped .

Le flux d’octets doit envoyer un événement MEBufferingStopped correspondant pour chaque événement MEBufferingStarted . Le flux d’octets ne doit pas envoyer d’événements MEBufferingStarted, sauf si la source multimédia a activé la mise en mémoire tampon en appelant EnableBuffering avec la valeur TRUE.

Une fois que le flux d’octets a envoyé un événement MEBufferingStarted , il doit envoyer MEBufferingStopped si l’un des événements suivants se produit :

  • Le flux d’octets termine la mise en mémoire tampon des données.
  • Le flux d’octets atteint la fin du flux.
  • La source multimédia appelle EnableBuffering avec la valeur FALSE.
  • La source multimédia appelle StopBuffering.
Le flux d’octets ne doit plus envoyer d’événements de mise en mémoire tampon une fois qu’il a atteint la fin du fichier.

Si la mise en mémoire tampon est désactivée, le flux d’octets n’envoie aucun événement de mise en mémoire tampon. En interne, toutefois, il peut toujours mettre en mémoire tampon les données pendant qu’il attend que les demandes d’E/S se terminent. Par conséquent, l’exécution des méthodes IMFByteStream peut prendre une durée indéfinie.

Si le flux d’octets met en mémoire tampon les données en interne et que la source multimédia appelle EnableBuffering avec la valeur TRUE, le flux d’octets peut envoyer MEBufferingStarted immédiatement.

Une fois la présentation démarrée, la source multimédia doit transférer et les événements MEBufferingStarted et MEBufferingStopped qu’elle reçoit au démarrage. La session multimédia interrompt l’horloge de la présentation pendant la progression de la mise en mémoire tampon et redémarre l’horloge de présentation lorsque la mise en mémoire tampon est terminée. La source multimédia doit uniquement transférer ces événements pendant la lecture de la présentation. L’objectif de l’envoi de ces événements à la session multimédia est de suspendre l’heure de présentation pendant que la source met en mémoire tampon les données.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête mfidl.h

Voir aussi

IMFByteStream

IMFByteStreamCacheControl

Interfaces Media Foundation