Partager via


MÉTHODE IMFASFMultiplexer ::P rocessSample (wmcontainer.h)

Fournit des exemples d’entrée au multiplexeur.

Syntaxe

HRESULT ProcessSample(
  [in] WORD      wStreamNumber,
  [in] IMFSample *pISample,
  [in] LONGLONG  hnsTimestampAdjust
);

Paramètres

[in] wStreamNumber

Numéro de flux du flux auquel appartient l’exemple.

[in] pISample

Pointeur vers l’interface IMFSample de l’exemple d’entrée. L’exemple d’entrée contient les données multimédias à convertir en paquets de données ASF. Dans la mesure du possible, l’horodatage de cet exemple doit être précis.

[in] hnsTimestampAdjust

Ajustement à appliquer à l’horodatage de l’échantillon. Ce paramètre est utilisé si l’appelant souhaite décaler l’heure de l’exemple sur pISample. Cette valeur doit être positive si l’horodatage doit être poussé vers l’avant et négatif si l’horodatage doit être repoussé. Cet horodatage est ajouté à l’heure de l’exemple sur pISample, et l’heure résultante est utilisée par le multiplexeur au lieu de l’heure de l’échantillon d’origine. Si aucun ajustement n’est nécessaire, définissez cette valeur sur 0.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
S_OK
MF_E_NOTACCEPTING
Trop de paquets attendent d’être récupérés à partir du multiplexeur. Appelez IMFASFMultiplexer ::GetNextPacket pour obtenir les paquets.
MF_E_BANDWIDTH_OVERRUN
L’exemple qui a été traité enfreint les limitations de bande passante spécifiées pour le flux dans l’objet ContentInfo ASF. Lorsque cette erreur est générée, l’exemple est supprimé.
MF_E_INVALIDSTREAMNUMBER
La valeur passée dans wStreamNumber n’est pas valide.
MF_E_LATE_SAMPLE
L’heure de présentation de l’exemple de média d’entrée est antérieure à l’heure d’envoi.

Remarques

L’application transmet des exemples à ProcessSample, et le multiplexeur ASF les met en file d’attente en interne jusqu’à ce qu’ils soient prêts à être placés dans des paquets ASF. Appelez IMFASFMultiplexer ::GetNextPacket pour obtenir le paquet de données ASF.

Après chaque appel à ProcessSample, appelez GetNextPacket dans une boucle pour obtenir tous les paquets de données disponibles. Pour obtenir un exemple de code, consultez Génération de nouveaux paquets de données ASF.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wmcontainer.h
Bibliothèque Mfuuid.lib

Voir aussi

Génération de nouveaux paquets de données ASF

IMFASFMultiplexer

IMFSample