Codes de notification d’événement
[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngineet audio/vidéo capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et capture audio/vidéo dans Media Foundation au lieu de directShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]
Cette section répertorie les événements DirectShow qui ne sont pas spécifiques au DVD. Pour connaître les événements spécifiques au DVD, consultez codes de notification d’événements DVD.
Les filtres envoient des événements au Gestionnaire de graphes de filtre en appelant la méthode IMediaEventSink ::Notify. Le Gestionnaire de graphes de filtre gère certains événements et files d’attente d’autres pour l’application. L’application les récupère en appelant la méthode IMediaEvent ::GetEvent.
Dans les sections qui suivent, chaque entrée répertorie le code d’événement, la signification des paramètres d’événement et l’action par défaut du Gestionnaire de graphes de filtre pour l’événement, le cas échéant. Pour remplacer l’action par défaut, appelez IMediaEvent ::CancelDefaultHandling. Les codes d’événement sont définis dans les fichiers d’en-tête Evcode.h et Audevcod.h. S’il n’existe aucune action par défaut, le Gestionnaire de graphes de filtre transfère automatiquement l’événement à l’application (via la file d’attente d’événements).
événements personnalisés
Les filtres peuvent définir des événements personnalisés avec des codes d’événement dans la plage EC_USER et versions ultérieures. Le Gestionnaire de graphes de filtre les place directement dans la file d’attente d’événements. Toutefois, les avertissements suivants s’appliquent :
- Le Gestionnaire de graphes de filtre ne peut pas libérer les paramètres d’événement à l’aide de la méthode normale IMediaEvent ::FreeEventParams. L’application doit libérer n’importe quel nombre de mémoire ou de référence associé aux paramètres d’événement.
- Le filtre ne doit envoyer l’événement qu’à partir d’une application qui est prête à gérer l’événement. (Éventuellement, l’application peut définir une propriété personnalisée sur le filtre pour indiquer qu’il est sûr d’envoyer l’événement.)
Code de notification d’événement | Description |
---|---|
EC_ACTIVATE | Une fenêtre vidéo est activée ou désactivée. |
EC_BANDWIDTHCHANGE | Non pris en charge. |
EC_BUFFERING_DATA | Le graphique met en mémoire tampon les données ou a arrêté la mise en mémoire tampon des données. |
EC_BUILT | Envoyer par le contrôle vidéo lorsqu’un graphique a été généré. Non transféré aux applications. |
EC_CLOCK_CHANGED | L’horloge de référence a changé. |
EC_CLOCK_UNSET | Le fournisseur d’horloges a été déconnecté. |
EC_CODECAPI_EVENT | Envoyé par un encodeur pour signaler un événement d’encodage. |
EC_COMPLETE | Toutes les données d’un flux particulier ont été rendues. |
EC_CONTENTPROPERTY_CHANGED | Non pris en charge. |
EC_DEVICE_LOST | Un appareil Plug-and-Play a été supprimé ou est de nouveau disponible. |
EC_DISPLAY_CHANGED | Le mode d’affichage a changé. |
EC_END_OF_SEGMENT | La fin d’un segment a été atteinte. |
EC_EOS_SOON | Non pris en charge. |
EC_ERROR_STILLPLAYING | Une commande asynchrone pour exécuter le graphique a échoué. |
EC_ERRORABORT | Une opération a été abandonnée en raison d’une erreur. |
EC_ERRORABORTEX | Une opération a été abandonnée en raison d’une erreur. |
EC_EXTDEVICE_MODE_CHANGE | Non pris en charge. |
EC_FILE_CLOSED | Le fichier source a été fermé en raison d’un événement inattendu. |
EC_FULLSCREEN_LOST | Le renderer vidéo bascule en mode plein écran. |
EC_GRAPH_CHANGED | Le graphique de filtre a changé. |
EC_LENGTH_CHANGED | La longueur d’une source a changé. |
EC_LOADSTATUS | Avertit l’application de la progression lors de l’ouverture d’un fichier réseau. |
EC_MARKER_HIT | Non pris en charge. |
EC_NEED_RESTART | Un filtre demande que le graphique soit redémarré. |
EC_NEW_PIN | Non pris en charge. |
EC_NOTIFY_WINDOW | Avertit un filtre de la fenêtre du convertisseur vidéo. |
EC_OLE_EVENT | Un filtre transmet une chaîne de texte à l’application. |
EC_OPENING_FILE | Le graphique ouvre un fichier ou a terminé l’ouverture d’un fichier. |
EC_PALETTE_CHANGED | La palette de vidéos a changé. |
EC_PAUSED | Une demande de pause est terminée. |
EC_PLEASE_REOPEN | Le fichier source a changé. |
EC_PREPROCESS_COMPLETE | Envoyé par le filtre enregistreur ASF WM lorsqu’il termine le prétraitement pour l’encodage multipass. |
EC_PROCESSING_LATENCY | Indique la durée pendant laquelle un composant prend pour traiter chaque échantillon. |
EC_QUALITY_CHANGE | Le graphique supprime des échantillons pour le contrôle de la qualité. |
EC_RENDER_FINISHED | Non pris en charge. |
EC_REPAINT | Un renderer vidéo nécessite un repaint. |
EC_SAMPLE_LATENCY | Spécifie le délai de planification d’un composant pour le traitement d’exemples. |
EC_SAMPLE_NEEDED | Demande un nouvel exemple d’entrée à partir du filtre EVR (Enhanced Video Renderer). |
EC_SCRUB_TIME | Spécifie l’horodatage de l’étape frame la plus récente. |
EC_SEGMENT_STARTED | Un nouveau segment a commencé. |
EC_SHUTTING_DOWN | Le graphique de filtre s’arrête avant d’être détruit. |
EC_SNDDEV_IN_ERROR | Une erreur d’appareil s’est produite dans un filtre de capture audio. |
EC_SNDDEV_OUT_ERROR | Une erreur d’appareil s’est produite dans un filtre de convertisseur audio. |
EC_STARVATION | Un filtre ne reçoit pas suffisamment de données. |
EC_STATE_CHANGE | Le graphique de filtre a changé d’état. |
EC_STATUS | Contient deux chaînes d’état arbitraires. |
EC_STEP_COMPLETE | Un filtre effectuant un pas à pas de frame a effectué un pas à pas le nombre spécifié d’images. |
EC_STREAM_CONTROL_STARTED | Une commande de démarrage de contrôle de flux a pris effet. |
EC_STREAM_CONTROL_STOPPED | Une commande d’arrêt de contrôle de flux a pris effet. |
EC_STREAM_ERROR_STILLPLAYING | Une erreur s’est produite dans un flux. Le flux est toujours en cours de lecture. |
EC_STREAM_ERROR_STOPPED | Un flux s’est arrêté en raison d’une erreur. |
EC_TIMECODE_AVAILABLE | Non pris en charge. |
EC_UNBUILT | Envoyer par le contrôle vidéo lorsqu’un graphique a été détruit. Non transféré aux applications. |
EC_USERABORT | L’utilisateur a arrêté la lecture. |
EC_VIDEO_SIZE_CHANGED | La taille de la vidéo native a changé. |
EC_VIDEOFRAMEREADY | Une trame vidéo est prête pour l’affichage. |
EC_VMR_RECONNECTION_FAILED | Envoyé par VMR-7 et VMR-9 lorsqu’il n’a pas pu accepter une demande de modification de format dynamique à partir du décodeur en amont. |
EC_VMR_RENDERDEVICE_SET | Envoyé lorsque vmR a sélectionné son mécanisme de rendu. |
EC_VMR_SURFACE_FLIPPED | Envoyé lorsque le présentateur allocateur de VMR-7 a appelé la méthode DirectDraw Flip sur la surface présentée. |
EC_WINDOW_DESTROYED | Le convertisseur vidéo a été détruit ou supprimé du graphique. |
EC_WMT_EVENT | Envoyé par le filtre lecteur WM ASF lorsqu’il lit les fichiers ASF protégés par la gestion des droits numériques (DRM). |
EC_WMT_INDEX_EVENT | Envoyé lorsqu’une application utilise l’enregistreur ASF WM pour indexer les fichiers vidéo Windows Media. |
Rubriques connexes
-
notification d’événement dans DirectShow