Partager via


MÉTHODE IMFASFSplitter ::P arseData (wmcontainer.h)

Envoie des données asf (Advanced Systems Format) paquetées au séparateur ASF pour traitement.

Syntaxe

HRESULT ParseData(
  [in] IMFMediaBuffer *pIBuffer,
  [in] DWORD          cbBufferOffset,
  [in] DWORD          cbLength
);

Paramètres

[in] pIBuffer

Pointeur vers l’interface IMFMediaBuffer d’un objet de mémoire tampon contenant des données à analyser.

[in] cbBufferOffset

Décalage dans la mémoire tampon de données où le séparateur doit commencer l’analyse. Cette valeur est généralement définie sur 0.

[in] cbLength

Longueur, en octets, des données à analyser. Cette valeur est mesurée à partir du décalage spécifié par cbBufferOffset. Définissez sur 0 pour traiter jusqu’à la fin de la mémoire tampon.

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
E_INVALIDARG
Le paramètre pIBuffer est NULL.

La valeur de décalage spécifiée dans cbBufferOffset est supérieure à la longueur de la mémoire tampon.

La valeur totale de cbBufferOffset et cbLength est supérieure à la longueur de la mémoire tampon.

MF_E_NOT_INITIALIZED
La méthode IMFASFSplitter ::Initialize n’a pas été appelée ou l’appel a échoué.
MF_E_NOTACCEPTING
Le séparateur ne peut pas traiter plus d’entrée pour l’instant.

Remarques

Après avoir utilisé cette méthode pour analyser des données, vous devez appeler IMFASFSplitter ::GetNextSample pour récupérer des exemples de médias analysés.

Si vos données ASF contiennent des paquets de taille variable, vous devez définir l’attribut MFASFSPLITTER_PACKET_BOUNDARY sur les mémoires tampons pour indiquer les exemples de limites, et les mémoires tampons ne peuvent pas s’étendre sur plusieurs paquets.

Si la méthode retourne ME_E_NOTACCEPTING, appelez GetNextSample pour obtenir les exemples de sortie, ou appelez IMFASFSplitter ::Flush pour effacer le séparateur.

Le séparateur peut contenir un nombre de références sur la mémoire tampon d’entrée. Par conséquent, n’écrivez pas sur les données valides dans la mémoire tampon après avoir appelé cette méthode.

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

Séparateur ASF

IMFASFSplitter