É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.
Rubriques connexes