Modèle d’objet de source multimédia

Cette rubrique décrit le modèle d’objet pour les sources multimédias dans Microsoft Media Foundation. Une source multimédia doit implémenter deux objets :

  • Un descripteur de présentation, qui décrit le contenu de la source, y compris le nombre de flux et le format de chaque flux. Pour plus d’informations sur les descripteurs de présentation, consultez descripteurs de présentation.
  • Un ou plusieurs flux de données multimédias, qui génèrent les données sources.

La source ne crée pas les flux avant le démarrage de la lecture.

Interfaces sources de média

Une source multimédia doit exposer les interfaces suivantes via QueryInterface.

Interface Description
IMFMediaSource Obligatoire pour toutes les sources multimédias.
IMFMediaEventGenerator Obligatoire pour toutes les sources multimédias. L’interface IMFMediaSource hérite de cette interface.

Si vous le souhaitez, une source de média peut implémenter l’interface IMFGetService et implémenter l’une des interfaces suivantes en tant que services :

Interface de service Description
IMFRateControl Contrôle la vitesse de lecture.
IMFRateSupport Indique la plage des taux de lecture pris en charge.
IMFQualityAdvise Permet au gestionnaire de qualité d’ajuster la qualité audio ou vidéo.
IMFMetadataProvider Fournit des métadonnées.

Si la source du média peut fonctionner à des vitesses autres que la vitesse normale (1,0), elle doit exposer le service de contrôle de la fréquence (IMFRateControl et IMFRateSupport). Dans le cas contraire, il est supposé que la source prend uniquement en charge la lecture à la vitesse normale. Pour plus d’informations, consultez Implementing Rate Control.

Pour plus d’informations sur les interfaces de service et les IMFGetService, consultez interfaces de service.

Interfaces de flux de média

Les flux multimédias doivent implémenter les interfaces suivantes.

Interface Description
IMFMediaStream Requis pour tous les flux multimédias.
IMFMediaEventGenerator Requis pour tous les flux multimédias. L’interface IMFMediaStream hérite de cette interface.

Aucune interface de service n’est actuellement définie pour les flux multimédias.

Sources multimédias