Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los códecs de audio y vídeo de Windows Media se implementan como objetos COM. Normalmente, un códec se implementa como un par de objetos COM: uno para el codificador y otro para el descodificador. El codificador tiene un identificador de clase (CLSID) y el descodificador tiene un CLSID diferente. Por ejemplo, la parte del codificador del códec Windows Media Audio 9 tiene un CLSID representado por la constante CLSID_CWMAEncMediaObjecty la parte del descodificador de ese mismo códec tiene un CLSID representado por la constante CLSID_CWMADecMediaObject.
En algunos casos, se incluye más de un codificador en un único objeto COM. Por ejemplo, el codificador Windows Media Video 9 y el codificador Windows Media Video 9.1 forman parte del mismo objeto COM. Por lo tanto, ambos tienen el mismo CLSID, que se representa mediante la constante CLSID_CWMV9EncMediaObject. Del mismo modo, algunos objetos COM incluyen más de un descodificador.
Cada codificador o objeto de descodificador expone la interfazIMediaObject para que el objeto se pueda usar como objeto Multimedia DirectX (DMO) y la interfaz IMFTransform para que el objeto se pueda usar como una transformación de Media Foundation (MFT).
Para la mayoría de los codificadores, independientemente de si usa el codificador como DMO o MFT, se usa el mismo CLSID para crear una instancia del codificador. Por ejemplo, para crear una instancia del codificador Windows Media Video 9, usas CLSID_CWMV9EncMediaObject, independientemente de si quieres usar el codificador como DMO o MFT. Del mismo modo, para la mayoría de los descodificadores, cada descodificador tiene un único CLSID independientemente de si usa el descodificador como DMO o MFT.
Nota
Hay algunas excepciones a la instrucción anterior sobre el uso de un único CLSID para DMO y MFT. Por ejemplo, el descodificador MPEG-4 Part 2 tiene un CLSID cuando actúa como DMO y un CLSID diferente cuando actúa como MFT.
Además de las interfaces principales, cada codificador o objeto de descodificador implementa dos interfaces similares para trabajar con propiedades de códec, IPropertyBag y IPropertyStore. Versiones anteriores del codificador y los objetos de descodificador usados IPropertyBag, que identifica cada propiedad por un valor de cadena que contiene un nombre de propiedad. IPropertyStore es una interfaz más reciente que identifica las propiedades con un valor de clave de propiedad único. Se ha agregado compatibilidad con IPropertyStore para proporcionar compatibilidad con LASF. La mayoría de cadenas de nombre de propiedad IPropertyBag tienen un GUID de clave de propiedad correspondiente y la mayoría de los GUID tienen una cadena de nombre IPropertyBag correspondiente, con algunas excepciones.
En esta documentación se enumeran las propiedades por constante de clave de propiedad, pero cada entrada incluye la constante de cadena de nombre de propiedad para su uso con IPropertyBag cuando corresponda.