Méthode CPullPin.Receive
[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 Receive
méthode est appelée lorsque l’objet reçoit un exemple de média de la broche de sortie. La classe dérivée doit implémenter cette méthode.
Syntaxe
virtual HRESULT Receive(
IMediaSample *pSample
) = 0;
Paramètres
-
pSample
-
Pointeur vers l’interface IMediaSample de l’exemple multimédia.
Valeur renvoyée
Retourne une valeur HRESULT . Le renvoi d’une valeur autre que S_OK arrête le thread d’extraction de données.
Notes
Cette méthode est appelée chaque fois qu’un nouvel exemple arrive de la broche de sortie. Écrivez cette méthode de la même manière que la méthode IMemInputPin::Receive .
Les horodatages de l’exemple spécifient les décalages d’octet par rapport à la position de début d’origine spécifiée dans la méthode CPullPin::Seek .
La position de début est arrondie à la limite d’alignement la plus proche, et la position d’arrêt est arrondie à la limite d’alignement la plus proche. En outre, si la position d’arrêt dépasse la durée totale, la durée est utilisée à la place.
Tous les horodatages sont donnés sous la forme d’un décalage d’octet multiplié par 10 000 000, défini comme la constante UNITS. Ainsi, en principe, une seconde est un octet. Pour rechercher les décalages d’octet réels, appelez IMediaSample::GetTime et divisez les résultats par UNITÉS.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|