Partager via


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.

 

constantes et GUID

notification d’événement dans DirectShow