Lecteur source

Le lecteur source est une alternative à l’utilisation de la session multimédia et du pipeline Microsoft Media Foundation pour traiter les données multimédias.

Pourquoi utiliser le lecteur source ?

Media Foundation fournit un pipeline optimisé pour la lecture. Le pipeline est de bout en bout, ce qui signifie qu’il gère le flux de données de la source (par exemple, un fichier vidéo) jusqu’à la destination (par exemple, l’affichage graphique). Toutefois, si vous souhaitez lire ou modifier les données à mesure qu’elles transitent par le pipeline, vous devez écrire un plug-in personnalisé. Cela nécessite une connaissance assez approfondie du pipeline Media Foundation. Pour certaines tâches, la création d’un nouveau plug-in est trop importante. Le lecteur source est conçu pour ce type de situation, lorsque vous souhaitez obtenir les données brutes d’une source sans la surcharge de l’ensemble du pipeline.

En interne, le lecteur source contient un pointeur vers une source multimédia. Une source multimédia est un objet Media Foundation qui génère des données multimédias à partir d’une source externe, comme un fichier multimédia ou un périphérique de capture vidéo. Le lecteur source gère tous les appels de méthode à la source multimédia. (Pour plus d’informations sur les sources multimédias, consultez Sources multimédias.)

Si la source multimédia fournit des données compressées, vous pouvez utiliser le lecteur source pour décoder les données. Dans ce cas, le lecteur source charge le décodeur correct et gère le flux de données entre la source multimédia et le décodeur. Le lecteur source peut également effectuer un traitement vidéo limité : conversion des couleurs de YUV en RVB-32 et désentlacement logiciel, bien que ces opérations ne soient pas recommandées pour le rendu vidéo en temps réel. L’image suivante illustre ce processus.

diagramme du lecteur source

Le lecteur source n’envoie pas les données à une destination ; c’est à l’application de consommer les données. Par exemple, le lecteur source peut lire un fichier vidéo, mais il ne restituera pas la vidéo à l’écran. En outre, le lecteur source ne gère pas d’horloge de présentation, ne gère pas les problèmes de minutage ou ne synchronise pas la vidéo avec l’audio.

Envisagez d’utiliser le lecteur source dans les cas suivants :

  • Vous souhaitez obtenir des données à partir d’un fichier multimédia sans vous soucier de la structure de fichier sous-jacente.
  • Vous souhaitez obtenir des données à partir d’un appareil de capture audio ou vidéo.
  • Vos tâches de traitement des données ne respectent pas le temps ou vous n’avez pas besoin d’une horloge de présentation.
  • Vous disposez déjà d’un pipeline multimédia qui n’est pas basé sur Media Foundation et vous souhaitez incorporer les sources multimédias Media Foundation dans votre propre pipeline.

Le lecteur source n’est pas recommandé dans les situations suivantes :

  • Pour le contenu protégé. Le lecteur source ne prend pas en charge la gestion des droits numériques (DRM).
  • Si vous vous souciez des détails de la structure de fichier sous-jacente. Le lecteur source masque ce type de détail.

Contenu de cette section

Rubrique Description
Utilisation du lecteur source pour traiter les données multimédias
Cette rubrique explique comment utiliser le lecteur source pour traiter les données multimédias.
Utilisation du lecteur source en mode asynchrone
Cette rubrique explique comment utiliser le lecteur source en mode asynchrone.
Tutoriel : Décodage audio
Ce tutoriel montre comment utiliser le lecteur source pour décoder l’audio à partir d’un fichier multimédia et écrire l’audio dans un fichier WAVE.

 

Architecture Media Foundation

Guide de programmation Media Foundation

IMFSourceReader