Partager via


Méthode COutputQueue.ThreadProc

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

La ThreadProc méthode récupère des échantillons de la file d’attente et les remet à la broche d’entrée.

Syntaxe

DWORD ThreadProc();

Paramètres

Cette méthode n’a aucun paramètre.

Valeur retournée

Retourne zéro.

Notes

La méthode COutputQueue::InitialThreadProc appelle cette méthode, qui implémente la boucle de thread main. Dans la boucle, la méthode effectue les étapes suivantes :

  1. Récupère un exemple pour la file d’attente.
  2. Si l’exemple est un message de contrôle, le thread exécute l’action de contrôle. Sinon, il place l’exemple dans le tableau COutputQueue::m_ppSamples .
  3. Lorsque le tableau est plein (ou si COutputQueue::m_bBatchExact a la valeur FALSE), le thread appelle la méthode IMemInputPin::ReceiveMultiple pour remettre les exemples.
  4. Si aucun exemple n’est mis en file d’attente, le thread attend sur le sémaphore COutputQueue::m_hSem .

Le thread se termine lorsque la variable membre COutputQueue::m_bTerminate devient TRUE.

Configuration requise

Condition requise Valeur
En-tête
Outputq.h (include Streams.h)
Bibliothèque
Strmbase.lib (builds de vente au détail) ;
Strmbasd.lib (builds de débogage)

Voir aussi

COutputQueue, classe