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