IAMStreamControl ::StopAt, méthode (strmif.h)
[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est 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 StopAt
méthode indique à l’épingle quand arrêter la remise des données.
Syntaxe
HRESULT StopAt(
[in] const REFERENCE_TIME *ptStop,
[in] BOOL bSendExtra,
[in] DWORD dwCookie
);
Paramètres
[in] ptStop
Pointeur vers une valeur REFERENCE_TIME qui spécifie le moment où la broche doit cesser de fournir des données. Si la valeur est MAXLONGLONG (0x7FFFFFFFFFFFFFFF), la méthode annule toute demande d’arrêt précédente. Si psStop a lavaleur NULL, la broche s’arrête immédiatement.
Pour les broches d’aperçu, seules les valeurs NULL et MAXLONGLONG sont valides, car les broches d’aperçu n’horodatent pas les exemples qu’elles fournissent.
[in] bSendExtra
Spécifie une valeur booléenne qui indique s’il faut envoyer un exemple supplémentaire après l’heure d’arrêt planifiée. Si la valeur est TRUE, le code pin envoie un exemple supplémentaire.
[in] dwCookie
Spécifie une valeur à envoyer avec la notification de début. Consultez la section Notes.
Valeur de retour
Si la méthode réussit, la valeur de retour est S_OK. Sinon, retourne une valeur HRESULT indiquant la cause de la défaillance.
Remarques
Si le paramètre dwCookie n’est pas égal à zéro, le code pin envoie un événement EC_STREAM_CONTROL_STOPPED lorsqu’il cesse de fournir des données. Le premier paramètre d’événement est un pointeur vers l’interface IPin de la broche, et le second est la valeur de dwCookie. Si ptStop a la valeur NULL ou MAXLONGLONG, aucun événement n’est envoyé et la valeur de dwCookie est ignorée.
Dans la capture vidéo, vous appelez généralement cette méthode sur la broche de sortie du filtre de capture et la broche d’entrée du multiplexeur. L’application doit attendre l’événement stop du multiplexeur. Cela garantit que le filtre de capture envoie le bon nombre d’images, tout en garantissant que toutes les images atteignent le multiplexeur. En outre, définissez le paramètre bSendExtra sur TRUE pour la broche de capture, mais SUR FALSE pour la broche du multiplexeur. Cela entraîne l’envoi d’une trame supplémentaire par le filtre de capture. Le multiplexeur s’appuie sur les horodatages de la broche de capture. Par conséquent, si l’image supplémentaire n’est pas envoyée, le multiplexeur attendra indéfiniment l’heure d’arrêt. Lorsque le multiplexeur reçoit le cadre supplémentaire, il l’ignore.
Cette méthode gère les conditions limites suivantes :
- Si l’heure d’arrêt se situe entre les heures de début et d’arrêt d’un exemple, l’épingle remet cet exemple.
- Si l’heure de début est égale à l’heure d’arrêt, l’épingle fournit un exemple.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | strmif.h (include Dshow.h) |
Bibliothèque | Strmiids.lib |