Share via


Utilisation d’extensions d’unité de données (Microsoft Media Foundation)

Les codecs Audio et Vidéo Windows Media sont conçus pour fonctionner correctement avec le conteneur ASF (Advanced Systems Format). ASF est le format structuré utilisé pour les fichiers Windows Media Audio (WMA) et windows Media Video (WMV). Il s’agit d’un format extensible conçu pour le streaming de données. L’une des caractéristiques inhabituelles de la structure ASF est la possibilité d’attacher des métadonnées à des échantillons individuels et d’incorporer ces données avec les exemples dans le flux de bits. Un élément de métadonnées stocké de cette façon est appelé extension d’unité de données, ou exemple d’extension.

Une extension d’unité de données peut contenir des informations requises par l’encodeur, le décodeur ou l’application de lecteur. La plupart des types d’extension d’unité de données implémentés dans la série de codecs Windows Media 9 contiennent des données destinées à l’application qui décode et restitue le média. Par exemple, vous pouvez conserver les codes de temps SMPTE à partir des données sources en les ajoutant en tant qu’extensions d’unités de données. Toutefois, les fonctionnalités de codec suivantes nécessitent des extensions d’unité de données :

  • Insertion forcée d’images clés
  • Encodage vidéo entrelacé
  • La difficulté d’utiliser des extensions d’unité de données lors de l’accès direct au codec est le mécanisme par lequel l’objet reçoit les données d’extension. Pour ce faire, les objets du Kit de développement logiciel (SDK) au format Windows Media utilisent des objets de mémoire tampon conçus pour prendre en charge cette fonctionnalité. Il est recommandé d’utiliser le Kit de développement logiciel (SDK) au format Windows Media pour activer les fonctionnalités de codec qui nécessitent des extensions d’unités de données, mais vous pouvez faire en sorte que ces fonctionnalités fonctionnent avec les objets codec autonomes.

Transmission d’exemples étendus aux objets Codec

Le Kit de développement logiciel (SDK) au format Windows Media utilise des objets de mémoire tampon qui exposent les interfaces INSSBuffer . La dernière interface est INSSBuffer4. Pour passer des exemples à un objet codec avec des extensions d’unité de données, vous devez utiliser un objet tampon qui implémente l’interface IMediaBuffer ou IMFMediaBuffer et l’interface INSSBuffer . Pour ce faire, vous pouvez utiliser des objets de mémoire tampon créés par le Kit de développement logiciel (SDK) Windows Media Format ou Microsoft Media Foundation, ou vous pouvez créer votre propre classe de mémoire tampon qui répond aux exigences. Pour créer votre propre classe de mémoire tampon, vous devez vous conformer aux prototypes de méthode pour les interfaces INSSBuffer . Ces définitions d’interface se trouvent dans le fichier d’en-tête wmsbuffer.h installé avec le Kit de développement logiciel (SDK) de format Windows Media.

Codecs Windows Media