Händelsemeddelandekoder
[Funktionen som är associerad med den här sidan, DirectShow, är en äldre funktion. Det har ersatts av MediaPlayer, IMFMediaEngineoch Audio / Video Capture i Media Foundation. Dessa funktioner har optimerats för Windows 10 och Windows 11. Microsoft rekommenderar starkt att ny kod använder MediaPlayer, IMFMediaEngine och Audio/Video Capture i Media Foundation i stället för DirectShow, när det är möjligt. Microsoft föreslår att befintlig kod som använder äldre API:er skrivs om för att använda de nya API:erna om möjligt.]
I det här avsnittet visas DirectShow-händelser som inte är specifika för DVD. Information om händelser som är specifika för DVD finns i DVD-händelsemeddelandekoder.
Filtrerar skicka händelser till Filter Graph Manager genom att anropa metoden IMediaEventSink::Notify. Filter Graph Manager hanterar vissa händelser och köar andra för programmet. Programmet hämtar dem genom att anropa metoden IMediaEvent::GetEvent.
I de avsnitt som följer listar varje post händelsekoden, innebörden av händelseparametrarna och filtergrafhanterarens standardåtgärd för händelsen, om någon. Om du vill åsidosätta standardåtgärden anropar du IMediaEvent::CancelDefaultHandling. Händelsekoder definieras i huvudfilerna Evcode.h och Audevcod.h. Om det inte finns någon standardåtgärd vidarebefordrar Filter Graph Manager automatiskt händelsen till programmet (via händelsekön).
anpassade händelser
Filter kan definiera anpassade händelser med händelsekoder i intervallet EC_USER och högre. Filter Graph Manager placerar dessa direkt i händelsekön. Följande varningar gäller dock:
- Filter Graph Manager kan inte frigöra händelseparametrarna med hjälp av den normala metoden IMediaEvent::FreeEventParams. Programmet måste frigöra minne eller referensantal som är associerade med händelseparametrarna.
- Filtret bör endast skicka händelsen inifrån ett program som är förberett för att hantera händelsen. (Programmet kan eventuellt ange en anpassad egenskap i filtret för att indikera att det är säkert att skicka händelsen.)
Kod för händelseavisering | Beskrivning |
---|---|
EC_ACTIVATE | Ett videofönster aktiveras eller inaktiveras. |
EC_BANDWIDTHCHANGE | Stöds inte. |
EC_BUFFERING_DATA | Diagrammet buffrar data eller har stoppat buffring av data. |
EC_BUILT | Skicka med videokontrollen när ett diagram har skapats. Vidarebefordras inte till program. |
EC_CLOCK_CHANGED | Referensklockan har ändrats. |
EC_CLOCK_UNSET | Klockprovidern kopplades från. |
EC_CODECAPI_EVENT | Skickas av en kodare för att signalera en kodningshändelse. |
EC_COMPLETE | Alla data från en viss ström har renderats. |
EC_CONTENTPROPERTY_CHANGED | Stöds inte. |
EC_DEVICE_LOST | En Plug and Play-enhet har tagits bort eller blivit tillgänglig igen. |
EC_DISPLAY_CHANGED | Visningsläget har ändrats. |
EC_END_OF_SEGMENT | Slutet på ett segment har nåtts. |
EC_EOS_SOON | Stöds inte. |
EC_ERROR_STILLPLAYING | Ett asynkront kommando för att köra grafen misslyckades. |
EC_ERRORABORT | En åtgärd avbröts på grund av ett fel. |
EC_ERRORABORTEX | En åtgärd avbröts på grund av ett fel. |
EC_EXTDEVICE_MODE_CHANGE | Stöds inte. |
EC_FILE_CLOSED | Källfilen stängdes på grund av en oväntad händelse. |
EC_FULLSCREEN_LOST | Videoåtergivningen växlar ut från helskärmsläge. |
EC_GRAPH_CHANGED | Filterdiagrammet har ändrats. |
EC_LENGTH_CHANGED | Längden på en källa har ändrats. |
EC_LOADSTATUS | Meddelar programmet för förlopp när du öppnar en nätverksfil. |
EC_MARKER_HIT | Stöds inte. |
EC_NEED_RESTART | Ett filter begär att diagrammet startas om. |
EC_NEW_PIN | Stöds inte. |
EC_NOTIFY_WINDOW | Meddelar ett filter i videoåtergivningens fönster. |
EC_OLE_EVENT | Ett filter skickar en textsträng till programmet. |
EC_OPENING_FILE | Diagrammet öppnar en fil eller har öppnat en fil. |
EC_PALETTE_CHANGED | Videopaletten har ändrats. |
EC_PAUSED | En pausbegäran har slutförts. |
EC_PLEASE_REOPEN | Källfilen har ändrats. |
EC_PREPROCESS_COMPLETE | Skickas av WM ASF Writer filter när den slutför förbearbetningen för multipasskodning. |
EC_PROCESSING_LATENCY | Anger hur lång tid det tar för en komponent att bearbeta varje exempel. |
EC_QUALITY_CHANGE | Diagrammet tar bort exempel för kvalitetskontroll. |
EC_RENDER_FINISHED | Stöds inte. |
EC_REPAINT | En videoåtergivning kräver en ommålning. |
EC_SAMPLE_LATENCY | Anger hur långt efter schemat en komponent är för bearbetning av exempel. |
EC_SAMPLE_NEEDED | Begär ett nytt indataexempel från EVR-filtret (Enhanced Video Renderer). |
EC_SCRUB_TIME | Anger tidsstämpeln för det senaste bildrutesteget. |
EC_SEGMENT_STARTED | Ett nytt segment har startat. |
EC_SHUTTING_DOWN | Filterdiagrammet stängs av innan det förstörs. |
EC_SNDDEV_IN_ERROR | Ett enhetsfel har uppstått i ett ljudinspelningsfilter. |
EC_SNDDEV_OUT_ERROR | Ett enhetsfel har uppstått i ett ljudåtergivningsfilter. |
EC_STARVATION | Ett filter tar inte emot tillräckligt med data. |
EC_STATE_CHANGE | Filterdiagrammet har ändrat tillstånd. |
EC_STATUS | Innehåller två godtyckliga statussträngar. |
EC_STEP_COMPLETE | Ett filter som utför ramstegning har ökat det angivna antalet bildrutor. |
EC_STREAM_CONTROL_STARTED | Ett startkommando för stream-control har börjat gälla. |
EC_STREAM_CONTROL_STOPPED | Ett stream-control stop-kommando har börjat gälla. |
EC_STREAM_ERROR_STILLPLAYING | Ett fel har uppstått i en dataström. Strömmen spelas fortfarande upp. |
EC_STREAM_ERROR_STOPPED | En dataström har stoppats på grund av ett fel. |
EC_TIMECODE_AVAILABLE | Stöds inte. |
EC_UNBUILT | Skicka med videokontrollen när ett diagram har rivits. Vidarebefordras inte till program. |
EC_USERABORT | Användaren har avslutat uppspelningen. |
EC_VIDEO_SIZE_CHANGED | Den inbyggda videostorleken har ändrats. |
EC_VIDEOFRAMEREADY | En videoram är klar för visning. |
EC_VMR_RECONNECTION_FAILED | Skickas av VMR-7 och VMR-9 när den inte kunde acceptera en begäran om ändring i dynamiskt format från den överordnade avkodaren. |
EC_VMR_RENDERDEVICE_SET | Skickas när VMR har valt sin återgivningsmekanism. |
EC_VMR_SURFACE_FLIPPED | Skickas när VMR-7:s allokeringspresentatör har anropat DirectDraw Flip-metoden på den yta som visas. |
EC_WINDOW_DESTROYED | Videoåtergivningen förstördes eller togs bort från diagrammet. |
EC_WMT_EVENT | Skickas av WM ASF Reader-filtret när det läser ASF-filer som skyddas av DIGITAL Rights Management (DRM). |
EC_WMT_INDEX_EVENT | Skickas när ett program använder WM ASF Writer för att indexera Windows Media Video-filer. |
Relaterade ämnen