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, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La 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 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 en met en file 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 de l’é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 plus. Le Gestionnaire de graphes de filtre les place directement dans la file d’attente d’événements. Toutefois, les mises en garde suivantes 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 IMediaEvent::FreeEventParams normale. L’application doit libérer tous les nombres de mémoires ou de références associés aux paramètres d’événement.
  • Le filtre doit envoyer l’événement uniquement à partir d’une application qui est prête à gérer l’événement. (L’application peut éventuellement définir une propriété personnalisée sur le filtre pour indiquer qu’il est possible d’envoyer l’événement en toute sécurité.)
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 graphe 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é créé. Non transféré aux applications.
EC_CLOCK_CHANGED L’horloge de référence a changé.
EC_CLOCK_UNSET Le fournisseur d’horloge 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 redevenu 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 d’exécution du 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 convertisseur vidéo sort du mode plein écran.
EC_GRAPH_CHANGED Le graphe 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 graphe 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 vidéo 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 WM ASF Writer lorsqu’il termine le prétraitement pour l’encodage multipass.
EC_PROCESSING_LATENCY Indique le temps qu’un composant prend pour traiter chaque exemple.
EC_QUALITY_CHANGE Le graphe supprime des exemples, pour le contrôle qualité.
EC_RENDER_FINISHED Non pris en charge.
EC_REPAINT Un convertisseur vidéo nécessite un repeint.
EC_SAMPLE_LATENCY Spécifie la distance entre la planification d’un composant pour le traitement des 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 d’image la plus récente.
EC_SEGMENT_STARTED Un nouveau segment a démarré.
EC_SHUTTING_DOWN Le graphe 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 L’état du graphe de filtre a changé.
EC_STATUS Contient deux chaînes status arbitraires.
EC_STEP_COMPLETE Un filtre effectuant un pas à pas d’images a effectué 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 La lecture a été interrompue par l’utilisateur.
EC_VIDEO_SIZE_CHANGED La taille de la vidéo native a changé.
EC_VIDEOFRAMEREADY Une image vidéo est prête pour l’affichage.
EC_VMR_RECONNECTION_FAILED Envoyé par le VMR-7 et le VMR-9 lorsqu’il n’a pas pu accepter une demande de modification de format dynamique provenant du décodeur amont.
EC_VMR_RENDERDEVICE_SET Envoyé lorsque le VMR a sélectionné son mécanisme de rendu.
EC_VMR_SURFACE_FLIPPED Envoyé lorsque le présentateur de l’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 ASF WM lorsqu’il lit des fichiers ASF protégés par la gestion des droits numériques (DRM).
EC_WMT_INDEX_EVENT Envoyé lorsqu’une application utilise l’enregistreur WM ASF pour indexer des fichiers vidéo Windows Media.

 

Constantes et GUID

Notification d’événement dans DirectShow