CSourceStream, classe

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

Hiérarchie de classes csourcestream

La classe CSourceStream fournit une broche de sortie pour la classe de filtre CSource .

Pour plus d’informations sur l’utilisation de cette classe, consultez CSource. Cette classe hérite de la classe CAMThread , qui fournit un thread de travail pour la diffusion en continu des données à partir de l’épingle. La classe CSourceStream implémente les méthodes d’assistance suivantes pour envoyer des requêtes au thread :

La première requête adressée au thread doit être Init. La demande de sortie met fin au thread. Dans la pratique, il n’est pas nécessaire d’appeler directement l’une de ces méthodes, car les méthodes CSourceStream::Active et CSourceStream::Inactive de l’épingle les appellent selon les besoins.

La classe fournit également plusieurs méthodes « handler » :

Ceux-ci ne font rien dans la classe de base, mais la classe dérivée peut les remplacer.

Variables de membre protégé Description
m_pFilter Pointeur vers le filtre qui contient cette broche.
Méthodes protégées Description
OnThreadCreate Appelé lorsque le thread de streaming est initialisé. Virtuel.
OnThreadDestroy Appelé lorsque le thread de diffusion en continu est sur le point de se fermer. Virtuel.
OnThreadStartPlay Appelé au début de la méthode CSourceStream::D oBufferProcessingLoop . Virtuel.
Actif Avertit l’épingle que le filtre est maintenant actif.
Inactif Avertit l’épingle que le filtre n’est plus actif.
GetRequest Attend la demande de thread suivante.
CheckRequest Vérifie s’il existe une demande de thread, sans blocage.
ThreadProc Procédure de thread. Virtuel.
DoBufferProcessingLoop Génère des données multimédias et les remet à la broche d’entrée en aval. Virtuel.
CheckMediaType Détermine si l’épingle accepte un type de média spécifique. Virtuel.
GetMediaType Récupère un type de média préféré. Virtuel.
Méthodes publiques Description
CSourceStream Méthode du constructeur.
~ CSourceStream Méthode de destructeur. Virtuel.
Init Initialise le thread de streaming.
Quitter Signale au thread de streaming de quitter.
Exécuter Signale l’exécution du thread de streaming.
Suspendre Signale au thread de streaming qu’il devient actif.
Arrêter Signale au thread de diffusion en continu qu’il s’arrête.
Méthodes virtuelles pures Description
FillBuffer Remplit un exemple de média avec des données.
IPin, méthodes Description
QueryId Récupère un identificateur pour l’épingle.

Configuration requise

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

Voir aussi

Écriture de filtres sources