Partager via


Configuration de l’enregistreur WM ASF (QASF)

Lorsque le filtre WM ASF Writer est créé, il est configuré automatiquement avec le profil WMProfile_V80_256Video comme valeur par défaut. Étant donné que ce profil utilise les codecs Windows Media Audio et Windows Media Video version 8, il est recommandé de créer un profil personnalisé qui utilise les codecs de la série Windows Media 9, puis de passer son pointeur IWMProfile au filtre à l’aide de la méthode IConfigAsfWriter::ConfigureFilterUsingProfile . Le filtre doit être ajouté au graphe avant que le filtre puisse être configuré, et il doit être configuré avant de pouvoir être connecté à amont filtres. Le filtre utilise le profil pour déterminer le type de fichier de format Windows Media à écrire, le nombre de broches d’entrée à configurer et les types de supports que les broches peuvent accepter.

Le filtre permet de réinitialiser les profils lorsque ses broches d’entrée sont connectées, tant que le nouveau profil ne nécessite pas de broches d’entrée supplémentaires. Par exemple, si vous modifiez le profil d’un profil audio à entrée seule à un profil audio et vidéo à deux entrées, seule la broche audio sera reconnectéeToutes les données d’entrée doivent être horodatées et toutes les broches d’entrée doivent être connectées avant que le filtre puisse être exécuté ou suspendu. Cela signifie que si vous configurez le filtre avec un profil qui a un flux audio et un flux vidéo, le filtre crée une broche d’entrée audio et vidéo, et les deux broches doivent être connectées avant que le filtre puisse être exécuté.

Ajout d’extensions d’unité de données

Vous pouvez configurer un flux de profil pour les extensions d’unités de données, telles que les codes de temps SMPTE, avant ou après la connexion du filtre, à condition de suivre cet ordre d’opérations :

  1. Ajoutez une ou plusieurs extensions d’unité de données au flux à l’aide de IWMStreamConfig2::AddDataUnitExtension.
  2. Appelez WMProfile::ReconfigStream pour mettre à jour le profil.
  3. Appelez IConfigAsfWriter::ConfigureFilterUsingProfile avec l’objet de profil mis à jour.
  4. Recherchez le code pin d’entrée vidéo et appelez sa méthode IAMWMBufferPass::SetNotify pour inscrire votre interface IAMWMBufferPassCallback définie par l’application .

Lorsque le graphe s’exécute, votre méthode IAMWMBufferPassCallback::Notify est appelée pour chaque image et vous pouvez obtenir et définir des propriétés sur l’exemple à l’aide de ses méthodes d’interface INSSBuffer3 .

Notes

Dans certains scénarios gourmands en processeur, tels que la télécine inverse, l’enregistreur ASF WM peut nécessiter plus de mémoires tampons de sortie que certains filtres en aval peuvent prendre en charge. Le décodeur DV, par exemple, n’accepte pas plusieurs mémoires tampons pour sa broche de sortie, et il en va de même pour le décompresseur AVI dans certaines conditions. Si vous rencontrez des problèmes lors de la tentative de connexion à ces filtres, ou éventuellement lors de l’exécution du graphique, il peut être nécessaire d’écrire un filtre intermédiaire qui accepte un nombre quelconque de mémoires tampons sur sa broche de sortie.