Configuration des DMO de codec
Cette rubrique décrit le processus de configuration des DMO de codec. Chaque codec a des procédures spécifiques, mais les informations communes à tous sont décrites ici.
Configuration des entrées et sorties DMO
Chaque DMO prend en charge des types d’entrée et de sortie spécifiques. Vous pouvez récupérer les types pris en charge pour les entrées et les sorties en appelant IMediaObject::GetInputType pour les entrées et IMediaObject::GetOutputType pour les sorties. Vous pouvez énumérer les formats pris en charge en effectuant des appels répétés à l’une ou l’autre méthode, en incrémentant l’index de type à chaque appel. Lorsque l’index dépasse celui du type final pris en charge, l’appel retourne DMO_E_NO_MORE_ITEMS.
Pour les codecs vidéo, un seul type de sortie ou type d’entrée est énuméré pour un sous-type multimédia donné. Pour les codecs audio, chaque type pris en charge est énuméré. Pour plus d’informations sur les types pris en charge pour les codecs individuels, consultez Utilisation de l’audio et Utilisation de la vidéo.
Après avoir configuré les types de médias pour les flux d’entrée et de sortie, définissez-les en appelant respectivement IMediaObject::SetInputType et IMediaObject::SetOutputType . Ces deux méthodes retournent DMO_E_TYPE_NOT_ACCEPTED si le type spécifié n’est pas valide.
Configuration des DMO de codec pour l’encodage
Tous les codecs Audio et Vidéo Windows Media prennent en charge diverses fonctionnalités d’encodage. Ces fonctionnalités sont généralement configurées en définissant des propriétés sur le DMO à l’aide des méthodes de l’interface IPropertyBag . Certaines propriétés sont configurées à l’aide d’interfaces de codec spécialisées. Ces interfaces sont répertoriées pour chaque codec dans la section Objets de codec.
L’ordre général des opérations pour la configuration d’un DMO d’encodage est le suivant :
- Configurez les fonctionnalités de codec comme vous le souhaitez à l’aide des méthodes de IPropertyBag.
- Utilisez les interfaces DMO du codec pour configurer des fonctionnalités supplémentaires, si nécessaire.
- Configurez les types d’entrée et de sortie. L’ordre dans lequel les types doivent être configurés varie selon les codecs individuels. Pour plus d’informations, consultez Utilisation de l’audio et Utilisation de la vidéo.
Configuration des DMO de codec pour le décodage
Le décodage est plus simple que l’encodage, car moins de fonctionnalités de décodeur sont prises en charge.
L’ordre général des opérations pour la configuration d’un DMO de décodage est le suivant :
- Configurez les fonctionnalités de décodeur comme vous le souhaitez à l’aide des méthodes de IPropertyBag.
- Définissez le type d’entrée sur le type utilisé pour la sortie de l’encodeur.
- Configurez le type de sortie. Les types de sortie pris en charge sont différents pour différentes entrées.
Notes
Il est important d’utiliser le même type de média pour l’entrée du décodeur que pour la sortie de l’encodeur. En effet, les codecs Audio et Vidéo Windows Media utilisent des formats multimédias avec des données supplémentaires. Ces données sont ajoutées à la structure vers laquelle pointe le membre pbFormat de la structure DMO_MEDIA_TYPE (généralement VIDEOINFOHEADER ou WAVEFORMATEX). Pour certains types, les données supplémentaires font partie du type de sortie de l’encodeur énuméré. Pour d’autres types, vous devez ajouter ces données manuellement. Sans les données de format étendu, vous ne pouvez pas décoder le contenu compressé.
Rubriques connexes