Función MFCreateTranscodeTopology (mfidl.h)

Crea una topología de transcodificación parcial.

El generador de topologías subyacente crea una topología parcial conectando los objetos de canalización necesarios: origen, codificador y receptor. El codificador y el receptor se configuran según la configuración especificada por el autor de la llamada en el perfil de transcodificación.

Para crear el objeto de perfil transcodificado, llame a la función MFCreateTranscodeProfile y establezca los atributos necesarios llamando a los métodos IMFTranscodeProfile adecuados.

El perfil de transcodificación configurado se pasa a la función MFCreateTranscodeTopology , que crea la topología transcodificada con la configuración adecuada. A continuación, el autor de la llamada puede establecer esta topología en la sesión multimedia e iniciar la sesión para comenzar el proceso de codificación. Cuando finaliza la sesión multimedia, se genera el archivo transcodificado.

Sintaxis

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

Parámetros

[in] pSrc

Puntero a un origen multimedia que encapsula el archivo de origen que se va a transcodificar. El objeto de origen multimedia expone la interfaz IMFMediaSource y se puede crear mediante el solucionador de origen. Para obtener más información, consulte Uso del solucionador de origen.

[in] pwszOutputFilePath

Puntero a una cadena terminada en null que contiene el nombre y la ruta de acceso del archivo de salida que se va a generar.

[in] pProfile

Puntero al perfil de transcodificación que contiene los valores de configuración de la secuencia de audio, la secuencia de vídeo y el contenedor en el que se escribe el archivo. El objeto de perfil transcodificado expone la interfaz IMFTranscodeProfile y debe crearse llamando a la función MFCreateTranscodeProfile . Una vez creado el objeto, el autor de la llamada debe proporcionar los valores de configuración llamando a los métodos IMFTranscodeProfile adecuados.

[out] ppTranscodeTopo

Recibe un puntero a la interfaz IMFTopology del objeto de topología transcodificado. El autor de la llamada debe liberar la interfaz .

Valor devuelto

La función devuelve un HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
La llamada de función se realizó correctamente y ppTranscodeTopo recibe un puntero a la topología de transcodificación.
E_INVALIDARG
pwszOutputFilePath contiene caracteres no válidos.
MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED
No se seleccionan secuencias en el origen multimedia.
MF_E_TRANSCODE_NO_CONTAINERTYPE
El perfil no contiene el atributo MF_TRANSCODE_CONTAINERTYPE .
MF_E_TRANSCODE_NO_MATCHING_ENCODER
Para una o varias secuencias, no puede encontrar un codificador que acepte el tipo de medio especificado en el perfil.
MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS
El perfil no especifica un tipo de medio para ninguna de las secuencias seleccionadas en el origen multimedia.

Comentarios

Para obtener código de ejemplo que usa esta función, consulte los temas siguientes:

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado mfidl.h
Library Mf.lib
Archivo DLL Mf.dll

Consulte también

IMFTopology

Funciones de Media Foundation

Topologías

API de transcodificación