Partager via


Types de média complets et partiels

Cette rubrique décrit la différence entre les types de médias complets et les types de médias partiels.

Types de média complets

Un type de média complet est un type qui définit entièrement le format du flux multimédia. Avec un type de média complet, un composant de pipeline peut analyser les données de flux associées au type de média, sans ambiguïté.

Pour les formats non compressés, les rubriques suivantes définissent les attributs requis pour un type de média complet :

Pour les flux compressés (ou encodés), la définition d’un type de média complet est définie par le codec. Toutefois, si des attributs de type non compressé sont connus pour le flux compressé, ces valeurs doivent être incluses dans le type de média pour le flux compressé. Par exemple, si la taille d’image est connue, définissez l’attribut MF_MT_FRAME_SIZE sur le type de média, même si techniquement un flux compressé n’a pas de taille d’image.

Types de média partiels

Un type de média partiel n’a pas un ou plusieurs attributs nécessaires pour un type de média complet. Lors de l’énumération des types de médias possibles, un composant Microsoft Media Foundation peut laisser une valeur non définie, pour indiquer qu’il peut gérer n’importe quelle valeur. Par exemple, un processeur vidéo peut laisser l’attribut MF_MT_FRAME_RATE non défini, pour indiquer qu’il peut gérer n’importe quelle fréquence d’images et effectuera une conversion de fréquence d’images si nécessaire.

Si vous créez un type de média partiel, vous devez toujours inclure autant d’informations que vous le savez. Toutefois, un type de média ne doit pas inclure d’informations incertaines. Il est préférable que l’information soit manquante que erronée.

Au minimum, un type de média partiel doit inclure seulement deux attributs : MF_MT_MAJOR_TYPE et MF_MT_SUBTYPE.

Parfois, les composants Media Foundation doivent fournir des types de médias complets :

  • Les sources de média doivent fournir des types de sortie complets.
  • Les décodeurs doivent fournir des types de sortie complets, une fois le type d’entrée défini. Avant que le type d’entrée soit défini, un décodeur peut fournir un type de sortie partiel.
  • Les encodeurs doivent fournir des types d’entrée complets, une fois le type de sortie défini. Avant que le type de sortie ne soit défini, un encodeur peut fournir un type d’entrée partielle.

Types de média