Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les codecs Audio et Vidéo Windows Media sont implémentés en tant qu’objets COM. En règle générale, un codec est implémenté en tant que paire d’objets COM : un pour l’encodeur et un pour le décodeur. L’encodeur a un identificateur de classe (CLSID) et le décodeur a un CLSID différent. Par exemple, la partie encodeur du codec Windows Media Audio 9 a un CLSID représenté par la constante CLSID_CWMAEncMediaObject, et la partie décodeur de ce même codec a un CLSID représenté par la constante CLSID_CWMADecMediaObject.
Dans certains cas, plusieurs encodeurs sont inclus dans un seul objet COM. Par exemple, l’encodeur Windows Media Video 9 et l’encodeur Windows Media Video 9.1 font tous les deux partie du même objet COM. Par conséquent, ils ont tous les deux le même CLSID, qui est représenté par la constante CLSID_CWMV9EncMediaObject. De même, certains objets COM incluent plusieurs décodeurs.
Chaque objet encodeur ou décodeur expose l’interface IMediaObject afin que l’objet puisse être utilisé en tant qu’objet DMO (DirectX Media Object) et l’interface IMFTransform afin que l’objet puisse être utilisé en tant que MFT (Media Foundation Transform).
Pour la plupart des encodeurs, que vous utilisiez l’encodeur en tant que DMO ou MFT, vous utilisez le même CLSID pour créer une instance de l’encodeur. Par exemple, pour créer une instance de l’encodeur Windows Media Video 9, vous utilisez CLSID_CWMV9EncMediaObject, que vous souhaitiez utiliser l’encodeur en tant que DMO ou MFT. De même, pour la plupart des décodeurs, chaque décodeur a un seul CLSID, que vous utilisiez le décodeur en tant que DMO ou MFT.
Note
Il existe quelques exceptions à l’instruction précédente sur l’utilisation d’un CLSID unique pour le DMO et le MFT. Par exemple, le décodeur MPEG-4 Partie 2 a un CLSID lorsqu’il agit en tant que DMO et un CLSID différent lorsqu’il agit en tant que MFT.
Outre les interfaces principales, chaque objet encodeur ou décodeur implémente deux interfaces similaires pour l’utilisation des propriétés de codec, IPropertyBag et IPropertyStore. Les versions antérieures des objets d’encodeur et de décodeur utilisés IPropertyBag, qui identifie chaque propriété par une valeur de chaîne contenant un nom de propriété. IPropertyStore est une interface plus récente qui identifie les propriétés avec une valeur de clé de propriété unique. La prise en charge de IPropertyStore a été ajoutée pour fournir une prise en charge des mfTs. La plupart chaînes de nom de propriété IPropertyBag ont un GUID de clé de propriété IPropertyStore correspondant et la plupart des GUID de la clé de propriété ont un IPropertyBag chaîne de nom correspondante, avec quelques exceptions.
Cette documentation répertorie les propriétés par constante de clé de propriété, mais chaque entrée inclut la constante de chaîne de nom de propriété à utiliser avec IPropertyBag le cas échéant.