Méthode CSourceStream. DoBufferProcessingLoop
La DoBufferProcessingLoop méthode génère des données multimédias et les remet à la broche d’entrée en aval.
Syntaxe
virtual HRESULT DoBufferProcessingLoop();
Paramètres
Cette méthode n’a aucun paramètre.
Valeur de retour
Retourne une valeur HRESULT . Les valeurs possibles sont les suivantes :
| Code de retour | Description |
|---|---|
|
Le thread a reçu une demande d’arrêt. |
|
Le flux est terminé, ou le filtre en aval n’accepte pas les exemples. |
Notes
Cette méthode implémente la boucle principale qui traite les données et les remet en aval. Chaque fois que vous parcourez la boucle, la méthode récupère un échantillon de média vide à partir de l’allocateur. Il passe l’exemple à la méthode CSourceStream :: FillBuffer . La méthode FillBuffer , que la classe dérivée doit implémenter, génère des données multimédias et les place dans l’exemple de mémoire tampon.
La boucle se termine lorsque l’un des éléments suivants se produit :
- La méthode IMemInputPin :: Receive de la broche d’entrée rejette un exemple.
- La méthode FillBuffer retourne S _ false, indiquant la fin du flux, ou retourne un code d’erreur.
- Le thread reçoit une demande CSourceStream :: Stop .
La DoBufferProcessingLoop méthode gère la notification de fin de flux. Si une erreur se produit, elle envoie un événement EC _ ERRORABORT au gestionnaire de graphique de filtre.
Spécifications
| Condition requise | Valeur |
|---|---|
| En-tête |
|
| Bibliothèque |
|