Para enumerar formatos de códec
[La característica asociada a esta página, SDK de Windows Media Format 11, es una característica heredada. Se ha reemplazado por lector de origen y escritor receptor. El lector de origen y el sistema de escritura receptor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector de origen y escritor receptor en lugar del SDK de Windows Media Format 11, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
Un formato de códec es un objeto de configuración de flujo rellenado con datos de un códec. Cada formato de códec contiene una configuración multimedia compatible con el códec. La mayoría de los códecs de audio admiten un número finito de formatos, cada uno de los cuales se enumera mediante el códec y se puede acceder a ellos mediante los métodos de IWMCodecInfo. Los códecs de vídeo, por otro lado, proporcionan un solo formato. Esto se debe a que las secuencias de vídeo tienen variables, como el tamaño de fotograma, que son más flexibles que la configuración de una secuencia de audio. Con una secuencia de vídeo, debe rellenar algunos de los valores de configuración de la secuencia; Las configuraciones de secuencias de audio solo deben editarse para asignar un nombre, un nombre de conexión y un número de secuencia. Para obtener más información, vea Configuración común a todos los flujos.
Los formatos de códec enumerados dependen de la configuración actual de enumeración de códecs, que se establecen mediante IWMCodecInfo3::SetCodecEnumerationSetting. Actualmente, solo se admiten dos propiedades de códec: g_wszNumPasses, que especifica el número de pasos de codificación que realizará el códec y g_wszVBREnabled, que especifica si el códec usará codificación de velocidad de bits variable. El número máximo de pasos de codificación admitidos por cualquiera de los códecs es dos, por lo que hay cuatro configuraciones distintas para las que puede recuperar códecs, como se muestra en la tabla siguiente.
Secuencia de velocidad de bits constante (CBR) | Secuencia CBR de 2 pasos | Secuencia de velocidad de bits variable basada en calidad (VBR) | Secuencia de VBR basada en velocidad de bits (restringida o sin restricciones) | |
---|---|---|---|---|
g_wszVBREnabled | false | false | VERDADERO | TRUE |
g_wszNumPasses | 1 | 2 | 1 | 2 |
Para enumerar los formatos admitidos para un códec, use IWMCodecInfo::GetCodecFormatCount para buscar el número de códecs admitidos. A continuación, llame a IWMCodecInfo::GetCodecFormat para cada formato. Los índices de formato van de cero a uno menor que el número total de formatos admitidos. Puede recuperar una descripción del formato llamando a IWMCodecInfo2::GetCodecFormatDesc. Al usar GetCodecFormatDesc, no es necesario usar GetCodecFormat, ya que ambos métodos recuperan el objeto de configuración de flujo. Los formatos de códec de vídeo no incluyen una descripción. Cada códec de vídeo solo tiene un formato que se usa para todas las secuencias de ese tipo.
Al recuperar un formato de códec, obtiene la interfaz IWMStreamConfig de un objeto de configuración de secuencia que contiene la configuración de formato.
Temas relacionados