Utilisation des extensions d’unités de données (Microsoft Media Foundation)
les codecs vidéo et Windows Media Audio 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 les fichiers Windows Media Video (WMV). Il s’agit d’un format extensible conçu pour la diffusion de données en continu. L’une des caractéristiques inhabituelles de la structure ASF est la possibilité d’associer des métadonnées à des exemples 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 de données qui sont 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 gérer les codes temporels SMPTE à partir des données sources en les ajoutant en tant qu’extensions d’unité de données. Toutefois, les fonctionnalités de codec suivantes requièrent des extensions d’unité de données :
- Insertion d’une image clé forcée
- Encodage vidéo entrelacé
- La difficulté à utiliser les 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) Windows Media Format 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) de Format multimédia Windows pour activer les fonctionnalités de codec qui requièrent des extensions d’unité de données, mais vous pouvez rendre ces fonctionnalités compatibles avec les objets de codec autonomes.
Passage d’exemples étendus aux objets codec
le kit de développement logiciel (SDK) Windows Media Format utilise des objets buffer qui exposent des 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 buffer qui implémente l’interface IMediaBuffer ou IMFMediaBuffer et l’interface INSSBuffer . vous pouvez utiliser des objets de mémoire tampon créés par le kit de développement logiciel (SDK) de Format multimédia Windows ou Microsoft Media Foundation pour ce faire, 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 qui est installé avec le kit de développement logiciel (SDK) de Format multimédia Windows.