Événements de session multimédia

La plupart des opérations de la session multimédia sont effectuées de manière asynchrone, de sorte que l’application doit écouter les événements à l’aide de l’interface IMFMediaEventGenerator de la session multimédia. (L’interface IMFMediaSession hérite de IMFMediaEventGenerator.) La séquence exacte des événements dépend de votre application, mais les événements suivants sont déclenchés par la session multimédia dans presque toutes les situations.

Événement Description
MEEndOfPresentation Déclenché lorsque la source multimédia a terminé la présentation. Les données peuvent encore transiter par le pipeline à l’heure actuelle.
MEError Déclenché si une erreur se produit pendant la diffusion en continu.
MESessionClosed Déclenché lorsque la méthode Close se termine. Cet événement est le dernier événement mis en file d’attente par la session multimédia. Une fois cet événement reçu, vous pouvez arrêter en toute sécurité toutes les sources multimédias que vous avez créées.
MESessionEnded Déclenché lorsque la session multimédia est terminée avec la dernière présentation.
MESessionNotifyPresentationTime Notifie l’application de l’heure de présentation à laquelle la nouvelle présentation démarrera.
MESessionStarted Déclenché lorsque la méthode Start est terminée. Sauf si une erreur s’est produite, les données transitent par le pipeline à ce stade.
MESessionTopologySet Déclenché lorsque la méthode SetTopology se termine. À moins qu’une erreur ne se produise, l’application n’a pas besoin d’effectuer d’action.
MESessionTopologyStatus Déclenché à différents moments lorsque la status d’une topologie change.

 

La méthode IMFMediaSession::Shutdown ne déclenche pas d’événement. La méthode Shutdown est synchrone. Une fois cette méthode retournée, il est sûr de libérer votre pointeur de rappel d’événement.

En plus des événements de la session multimédia, l’application peut recevoir des événements des récepteurs multimédias dans la topologie. Il peut s’agir d’événements personnalisés définis par le récepteur multimédia, qui peuvent contenir des données arbitraires. Par exemple, le récepteur peut dériver les données d’événement des données sources, qui peuvent provenir d’une source externe non approuvée. Une application doit ignorer tous les événements qu’elle ne reconnaît pas et faire preuve de prudence lors de l’analyse des données d’événement.

Session multimédia