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.
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 |