Freigeben über


ICaptureGraphBuilder::RenderStream-Methode (strmif.h)

[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 Die ICaptureGraphBuilder-Schnittstelle ist veraltet. Verwenden Sie stattdessen ICaptureGraphBuilder2 .
 
Verbindet die Pin eines Quellfilters einer optional angegebenen Kategorie mit dem Renderingfilter und optional über einen anderen Filter.

Syntax

HRESULT RenderStream(
  [in] const GUID  *pCategory,
  [in] IUnknown    *pSource,
  [in] IBaseFilter *pfCompressor,
  [in] IBaseFilter *pfRenderer
);

Parameter

[in] pCategory

Zeiger auf eine GUID, die angibt, welcher Ausgabepin des Quellfilters verbunden werden soll. Eine Liste aller Pinkategorien finden Sie unter Pin-Eigenschaftensatz . NULL gibt an, dass der einzige Ausgabepin unabhängig von der Kategorie gerendert wird.

[in] pSource

Zeiger auf einen IBaseFilter oder eine IPin-Schnittstelle , die entweder den Quellfilter oder einen Ausgabepin darstellt. Quellfilter sind in der Regel ein Dateiquellenfilter, z. B. ein AVI-Dateiquellfilter oder ein Erfassungsfilter.

[in] pfCompressor

Zeiger auf eine IBaseFilter-Schnittstelle , die den optionalen Komprimierungsfilter darstellt.

[in] pfRenderer

Zeiger auf eine IBaseFilter-Schnittstelle , die den Renderer darstellt. Sie können den Parameter ppf (multiplexer) aus ICaptureGraphBuilder::SetOutputFileName verwenden, um diesen Wert anzugeben.

Rückgabewert

Gibt VFW_S_NOPREVIEWPIN zurück, wenn der Erfassungsfilter über einen Aufnahmenadel, aber keine Vorschau-Pin verfügt und Sie mit der Kategorie &PIN_CATEGORY_PREVIEW auf der Aufnahmenadel aufrufen RenderStream . In diesem Fall RenderStream rendert den Vorschaunadel des Smart Tee-Filters . Weitere Informationen finden Sie in den Hinweisen.

Hinweise

Wenn Sie eine GUID ohneNULL-Pin-Eigenschaft für pCategory und einen Erfassungsfilter für pSource angeben, instanziiert und verbindet diese Methode zusätzliche erforderliche Upstream Filter, z. B. TV-Tuner und Kreuzleisten. Anschließend wird der Aufnahmepin von pSource gerendert.

Wenn pSource ein Pin ist, geben Sie NULL für pCategory an, und diese Methode rendert den Datenstrom aus dieser Pin.

Wenn der Quellfilter nur über einen Ausgabepin verfügt, geben Sie null für pCategory an.

pSource-, pfCompressor- und pfRenderer-Filter , die als Parameter angegeben werden, müssen im Diagramm vorhanden sein, bevor diese Methode aufgerufen wird.

Wenn Sie ein Erfassungsdiagramm erstellen, das WDM-Erfassungsfilter verwendet, erstellt diese Methode alle erforderlichen Upstream Filter sowie die nachgeschalteten Filter.

Einige Aufnahmefilter, die mit der neuen Videoaufnahmehardware WDM VPE (Video Port Extension) funktionieren, verfügen über Videoport-Pins anstelle von Vorschaupins, die für die Vorschau vorgesehen sind. Videoport-Pins verbinden sich nicht direkt mit einem Videorenderer, sondern mit einem speziellen Filter, dem sogenannten Overlay Mixer. Ihre Anwendung muss sich darüber keine Sorgen machen. Sie müssen nur mit PIN_CATEGORY_PREVIEW aufrufen RenderStream , und der Capture Graph Builder rendert den VIDEO PORT-Pin ordnungsgemäß über einen Überlagerungsmixer, wenn dies erforderlich ist.

Wenn Sie einen Aufnahme- oder Vorschaupin eines Videoaufnahmefilters rendern (mit RenderStream dem PIN_CATEGORY_CAPTURE oder PIN_CATEGORY_PREVIEW Kategorie) und der Aufnahmefilter über einen Aufnahmenadel, aber keinen Vorschau-Pin verfügt, wird der Smart Tee-Filter automatisch verwendet, um gleichzeitige Erfassung und Vorschau zu ermöglichen. Wenn Sie beispielsweise mit der Kategorie PIN_CATEGORY_CAPTURE aufrufen RenderStream , wird tatsächlich ein Smart Tee-Filter mit dem Aufnahmestift des Filters verbunden und dann der Aufnahmenadel des Smart Tee gerendert. Wenn Sie dann mit der Kategorie PIN_CATEGORY_PREVIEW auf dem Aufnahmenadel aufrufen RenderStream , wird der Vorschaupin des Smart Tee tatsächlich gerendert. Wenn der Aufruf RenderStream mit PIN_CATEGORY_PREVIEW zur Verwendung des Erfassungspins und eines Smart Tee-Filters führt, gibt VFW_S_NOPREVIEWPIN zurück, RenderStream um dies anzugeben. Wenn FindInterface also keine Vorschauschnittstelle findet, müssen Sie möglicherweise FindInterface mit der kategorie PIN_CATEGORY_PREVIEW und mit der Kategorie PIN_CATEGORY_CAPTURE aufrufen, da die Vorschauschnittstelle gefunden werden kann, indem Sie nach dem Aufnahmepin des Erfassungsfilters suchen.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)

Weitere Informationen

Fehler- und Erfolgscodes

ICaptureGraphBuilder-Schnittstelle