Freigeben über


Beispielgrabberfilter

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Hinweis

[Veraltet. Diese API kann aus zukünftigen Versionen von Windows entfernt werden.]

 

Der Filter Sample Grabber bietet eine Möglichkeit zum Abrufen von Beispielen, während sie das Filterdiagramm durchlaufen. Es handelt sich um einen Transformationsfilter mit einem Eingabenadel und einem Ausgabestift. Es übergibt alle Stichproben nach dem Downstream unverändert, sodass Sie sie in ein Filterdiagramm einfügen können, ohne den Datenstrom zu ändern. Ihre Anwendung kann dann einzelne Beispiele aus dem Filter abrufen, indem sie Methoden auf der ISampleGrabber-Schnittstelle aufruft.

Wenn Sie Beispiele abrufen möchten, ohne die Daten zu rendern, verbinden Sie den Filter Sample Grabber mit dem Filter Null Renderer .

Bezeichnung Wert
Filterschnittstellen IBaseFilter, ISampleGrabber
Eingabenadelmedientypen Beliebiger Medientyp.
Eingabenadelschnittstellen IMemInputPin, IPin, IQualityControl
Ausgabeheftmedientypen Beliebiger Medientyp. Entspricht dem Eingabemedientyp.
Ausgabepinschnittstellen IMediaPosition, IMediaSeeking, IPin, IQualityControl
Filtern von CLSID CLSID_SampleGrabber
Eigenschaftenseite CLSID Keine Eigenschaftenseite.
Ausführbare Datei Qedit.dll
Verdienst MERIT_DO_NOT_USE
Filterkategorie CLSID_LegacyAmFilterCategory

 

Bemerkungen

Um diesen Filter zu verwenden, fügen Sie ihn dem Filterdiagramm hinzu, und rufen Sie ISampleGrabber::SetMediaType mit dem gewünschten Medientyp auf. Diese Methode gibt den Medientyp für die Eingabe- und Ausgabe-Pinverbindungen des Filters an. Verbinden Sie dann den Filter mit anderen Filtern im Diagramm.

Wenn Sie ISampleGrabber::SetBufferSamples mit dem Wert TRUE aufrufen, puffert der Filter jedes empfangene Beispiel, bevor er es downstream übergibt. Rufen Sie die ISampleGrabber::GetCurrentBuffer-Methode auf, um den aktuellen Inhalt des Puffers abzurufen. Alternativ können Sie ISampleGrabber::SetCallback aufrufen, damit der Filter bei jedem Empfang eines Beispiels eine Rückruffunktion aufruft.

Für den Filter gelten die folgenden Einschränkungen für Videoformate:

  • Videotypen mit top-down-Ausrichtung (negative biHeight) werden nicht unterstützt.
  • Die VIDEOINFOHEADER2-Formatstruktur (Formattyp gleich FORMAT_VideoInfo2) wird nicht unterstützt.
  • Es lehnt jeden Videotyp ab, bei dem die Fläche nicht mit der Videobreite übereinstimmt.

Daher stellt der Beispielgrabber für einige Videotypen keine Verbindung mit dem Videomischungsrenderer (Video Mixing Renderer, VMR) her.

Anforderungen

Anforderung Wert
Header
Qedit.h

Siehe auch

DirectShow Editing Services-Objekte

Verwenden des Beispielgrabbers