Share via


Fonction MFCreateTranscodeTopology (mfidl.h)

Crée une topologie de transcode partiel.

Le générateur de topologie sous-jacent crée une topologie partielle en connectant les objets de pipeline requis : source, encodeur et récepteur. L’encodeur et le récepteur sont configurés en fonction des paramètres spécifiés par l’appelant dans le profil de transcode.

Pour créer l’objet de profil de transcode, appelez la fonction MFCreateTranscodeProfile et définissez les attributs requis en appelant les méthodes IMFTranscodeProfile appropriées.

Le profil de transcode configuré est passé à la fonction MFCreateTranscodeTopology , qui crée la topologie de transcode avec les paramètres appropriés. L’appelant peut ensuite définir cette topologie sur la session multimédia et démarrer la session pour commencer le processus d’encodage. À la fin de la session multimédia, le fichier transcodé est généré.

Syntaxe

HRESULT MFCreateTranscodeTopology(
  [in]  IMFMediaSource      *pSrc,
  [in]  LPCWSTR             pwszOutputFilePath,
  [in]  IMFTranscodeProfile *pProfile,
  [out] IMFTopology         **ppTranscodeTopo
);

Paramètres

[in] pSrc

Pointeur vers une source multimédia qui encapsule le fichier source à transcoder. L’objet source multimédia expose l’interface IMFMediaSource et peut être créé à l’aide du programme de résolution source. Pour plus d’informations, consultez Utilisation du programme de résolution de source.

[in] pwszOutputFilePath

Pointeur vers une chaîne terminée par null qui contient le nom et le chemin d’accès du fichier de sortie à générer.

[in] pProfile

Pointeur vers le profil de transcode qui contient les paramètres de configuration du flux audio, du flux vidéo et du conteneur dans lequel le fichier est écrit. L’objet de profil transcode expose l’interface IMFTranscodeProfile et doit être créé en appelant la fonction MFCreateTranscodeProfile . Une fois l’objet créé, l’appelant doit fournir les paramètres de configuration en appelant les méthodes IMFTranscodeProfile appropriées.

[out] ppTranscodeTopo

Reçoit un pointeur vers l’interface IMFTopology de l’objet de topologie de transcode. L’appelant doit libérer l’interface.

Valeur retournée

La fonction retourne un HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
L’appel de fonction a réussi et ppTranscodeTopo reçoit un pointeur vers la topologie de transcode.
E_INVALIDARG
pwszOutputFilePath contient des caractères non valides.
MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED
Aucun flux n’est sélectionné dans la source multimédia.
MF_E_TRANSCODE_NO_CONTAINERTYPE
Le profil ne contient pas l’attribut MF_TRANSCODE_CONTAINERTYPE .
MF_E_TRANSCODE_NO_MATCHING_ENCODER
Pour un ou plusieurs flux, impossible de trouver un encodeur qui accepte le type de média donné dans le profil.
MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS
Le profil ne spécifie pas de type de média pour les flux sélectionnés sur la source multimédia.

Remarques

Pour obtenir un exemple de code qui utilise cette fonction, consultez les rubriques suivantes :

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête mfidl.h
Bibliothèque Mf.lib
DLL Mf.dll

Voir aussi

IMFTopology

Fonctions Media Foundation

Topologies

Transcode API