Compartir a través de


Configuración de WM ASF Writer (QASF)

Cuando se crea el filtro WM ASF Writer , se configura automáticamente con el perfil de WMProfile_V80_256Video como valor predeterminado. Dado que este perfil usa los códecs Windows Media Audio y Windows Media Video versión 8, se recomienda crear un perfil personalizado que use los códecs de la serie Windows Media 9 y, a continuación, pasar su puntero IWMProfile al filtro mediante el método IConfigAsfWriter::ConfigureFilterUsingProfile . El filtro debe agregarse al grafo antes de que se pueda configurar el filtro y debe configurarse para poder conectarse a filtros ascendentes. El filtro usa el perfil para determinar qué tipo de archivo windows Media Format se va a escribir, cuántos pins de entrada se van a configurar y qué tipos de medios pueden aceptar los patillas.

El filtro permite restablecer los perfiles mientras están conectados sus pines de entrada, siempre y cuando el nuevo perfil no requiera ningún pin de entrada adicional. Por ejemplo, si cambia el perfil de un perfil de solo audio de entrada a un perfil de audio y vídeo de dos entradas, solo el pin de audio se volverá a conectarTodos los datos de entrada deben marcarse con el tiempo y todas las patillas de entrada deben estar conectadas antes de que se pueda ejecutar o pausar el filtro. Esto significa que si configura el filtro con un perfil que tiene una secuencia de audio y una secuencia de vídeo, el filtro creará un pin de entrada de audio y vídeo, y ambos patillas deben estar conectados antes de que se pueda ejecutar el filtro.

Agregar extensiones de unidad de datos

Puede configurar un flujo de perfil para extensiones de unidad de datos, como códigos de tiempo SMPTE, ya sea antes o después de que el filtro esté conectado, siempre y cuando siga este orden de operaciones:

  1. Agregue una o varias extensiones de unidad de datos a la secuencia mediante IWMStreamConfig2::AddDataUnitExtension.
  2. Llame a WMProfile::ReconfigStream para actualizar el perfil.
  3. Llame a IConfigAsfWriter::ConfigureFilterUsingProfile con el objeto de perfil actualizado.
  4. Busque el pin de entrada de vídeo y llame a su método IAMWMBufferPass::SetNotify para registrar la interfaz IAMWMBufferPassCallback definida por la aplicación.

Cuando se ejecute el grafo, se llamará al método IAMWMBufferPassCallback::Notify para cada fotograma y podrá obtener y establecer propiedades en el ejemplo mediante sus métodos de interfaz INSSBuffer3 .

Nota

En algunos escenarios con un uso intensivo del procesador, como el telecine inverso, el sistema wm ASF Writer puede requerir más búferes de salida que algunos filtros de bajada pueden admitir. El descodificador DV, por ejemplo, no aceptará más de un búfer para su pin de salida y lo mismo es true para el descompresión AVI en determinadas condiciones. Si tiene problemas al intentar conectarse a estos filtros o, posiblemente, al ejecutar el grafo, puede ser necesario escribir un filtro intermediario que acepte cualquier número de búferes en su pin de salida.