Condividi tramite


Funzione MFCreateTranscodeTopology (mfidl.h)

Crea una topologia di transcode parziale.

Il generatore di topologie sottostante crea una topologia parziale connettendo gli oggetti della pipeline necessari: origine, codificatore e sink. Il codificatore e il sink sono configurati in base alle impostazioni specificate dal chiamante nel profilo transcode.

Per creare l'oggetto profilo transcode, chiamare la funzione MFCreateTranscodeProfile e impostare gli attributi richiesti chiamando i metodi FMTranscodeProfile appropriati.

Il profilo transcode configurato viene passato alla funzione MFCreateTranscodeTopology , che crea la topologia di transcode con le impostazioni appropriate. Il chiamante può quindi impostare questa topologia nella sessione multimediale e avviare la sessione per avviare il processo di codifica. Al termine della sessione multimediale, viene generato il file transcoded.

Sintassi

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

Parametri

[in] pSrc

Puntatore a un'origine multimediale che incapsula il file di origine da transcodificare. L'oggetto origine multimediale espone l'interfaccia FMMediaSource e può essere creata usando il resolver di origine. Per altre informazioni, vedere Uso del resolver di origine.

[in] pwszOutputFilePath

Puntatore a una stringa con terminazione null contenente il nome e il percorso del file di output da generare.

[in] pProfile

Puntatore al profilo di transcodice che contiene le impostazioni di configurazione per il flusso audio, il flusso video e il contenitore in cui viene scritto il file. L'oggetto profilo transcode espone l'interfaccia FMTranscodeProfile e deve essere creata chiamando la funzione MFCreateTranscodeProfile . Dopo aver creato l'oggetto, il chiamante deve fornire le impostazioni di configurazione chiamando i metodi IMFTranscodeProfile appropriati.

[out] ppTranscodeTopo

Riceve un puntatore all'interfaccia IMFTo topologia dell'oggetto topologia transcode. Il chiamante deve rilasciare l'interfaccia.

Valore restituito

La funzione restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
La chiamata alla funzione ha avuto esito positivo e ppTranscodeTopo riceve un puntatore alla topologia di transcode.
E_INVALIDARG
pwszOutputFilePath contiene caratteri non validi.
MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED
Nessun flusso è selezionato nell'origine multimediale.
MF_E_TRANSCODE_NO_CONTAINERTYPE
Il profilo non contiene l'attributo MF_TRANSCODE_CONTAINERTYPE .
MF_E_TRANSCODE_NO_MATCHING_ENCODER
Per uno o più flussi, non è possibile trovare un codificatore che accetta il tipo di supporto specificato nel profilo.
MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS
Il profilo non specifica un tipo di supporto per uno dei flussi selezionati nell'origine multimediale.

Commenti

Ad esempio, il codice che usa questa funzione, vedere gli argomenti seguenti:

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mfidl.h
Libreria Mf.lib
DLL Mf.dll

Vedi anche

FMITo topologia

Funzioni di Media Foundation

Topologie

Transcode API