CBaseRenderer. Receive, méthode

La Receive méthode reçoit l’échantillon de média suivant dans le flux.

Syntaxe

virtual Receive(
   IMediaSample *pMediaSample
);

Paramètres

pMediaSample

Pointeur vers l’interface IMediaSample de l’exemple.

Valeur de retour

Retourne S _ OK en cas de réussite, ou une valeur HRESULT indiquant la cause de l’erreur.

Notes

La broche d’entrée appelle cette méthode lorsqu’elle reçoit un échantillon du filtre en amont.

Si le filtre est en cours d’exécution, cette méthode effectue les étapes suivantes :

  1. Planifie l’exemple de rendu (CBaseRenderer ::P reparereceive).
  2. Attend l’heure planifiée (CBaseRenderer :: WaitForRenderTime).
  3. Génère le rendu de l’exemple (CBaseRenderer :: Render).
  4. Libère l’exemple (CBaseRenderer :: ClearPendingSample).

Si le filtre est suspendu, la méthode effectue les étapes suivantes :

  1. Notifie la classe dérivée qu’un exemple est disponible (CBaseRenderer :: OnReceiveFirstSample).
  2. Attend l’heure planifiée.
  3. Génère le rendu de l’exemple.
  4. Libère l’exemple.

Pendant la suspension, la méthode attend à l’étape 2 jusqu’à ce que le filtre bascule vers un état d’exécution. À ce stade, le filtre planifie l’exemple.

Dans la classe de base, la méthode OnReceiveFirstSample n’a aucun effet. La classe dérivée peut la substituer. Par exemple, lorsqu’un convertisseur vidéo est suspendu, il affiche le premier échantillon sous la forme d’une image continue.

Spécifications

Condition requise Valeur
En-tête
Renbase. h (inclure Flux. h)
Bibliothèque
Strmbase. lib (versions commerciales);
Strmbasd. lib (versions Debug)

Voir aussi

CBaseRenderer, classe