À propos de la source du séquenceur

La source du séquenceur permet à une application de lire séquentiellement une collection de sources multimédias , avec des transitions transparentes entre les sources. La source du séquenceur peut être utilisée dans les scénarios suivants :

  • Créez une playlist qui bascule en toute transparence d’une source multimédia à l’autre.
  • Lire des flux à partir de plusieurs sources simultanément ; par exemple, lisez l’audio d’un fichier avec la vidéo d’un autre.
  • Basculer entre des flux dans différentes sources multimédias dans des entrées de playlist consécutives ; par exemple, une playlist peut avoir des entrées qui partagent la même source vidéo tandis que chaque entrée contient une source audio différente.

Pour chaque élément d’une playlist, l’application crée une topologie distincte. Les sources multimédias dans ces topologies sont appelées sources natives, pour les distinguer de la source du séquenceur. Pendant la lecture, l’ensemble de la séquence de topologies est appelé une présentation, et chaque topologie de la séquence est appelée segment.

La lecture est contrôlée par la session multimédia, qui fournit des contrôles de transport, tels que la lecture, la pause et l’arrêt. La session multimédia gère également le temps de présentation et envoie des événements à l’application. (Les événements de la source du séquenceur sont transférés à l’application via la session multimédia.)

Pour créer une playlist, l’application crée une ou plusieurs topologies de lecture et les met en file d’attente sur la source du séquenceur dans l’ordre de lecture souhaité. En interne, la source du séquenceur modifie les topologies afin que les nœuds sources pointent vers la source du séquenceur au lieu de la source native. L’application envoie ces topologies modifiées, plutôt que les topologies d’origine, à la session multimédia. Cela permet à la source du séquenceur d’agréger les sources natives et de communiquer avec la session multimédia.

Pour obtenir des transitions transparentes entre les segments, la source du séquenceur prérolle chaque segment. Pendant la lecture d’un segment et avant l’heure de lire le segment suivant, la source du séquenceur déclenche un événement MENewPresentation qui contient un descripteur de présentation. L’application utilise ce descripteur de présentation pour obtenir la topologie du segment suivant de la présentation et met en file d’attente la topologie sur la session multimédia.

L’illustration suivante montre le flux de données pour les entrées de playlist via la source du séquenceur. L’application utilise le programme de résolution source pour créer les sources natives, génère des topologies pour chaque segment et met en file d’attente les topologies sur la source du séquenceur.

diagramme montrant le flux de données à partir de imfmediasession, imfsequencersource et les segments de playlist menant à imfmediasource

Guide pratique pour créer une playlist

Topologies

Utilisation de la source sequencer

Source du séquenceur