Erfassen einer DV-Datei vom Typ 1
Eine DV AVI-Datei vom Typ 1 enthält einen einzelnen überlappenden Stream. Um eine Datei vom Typ 1 während der Vorschau zu erfassen, verwenden Sie das im folgenden Diagramm gezeigte Filterdiagramm.

Filter in diesem Diagramm umfassen Folgendes:
- Der Smart Tee-Filter teilt die überlappende DV in einen Erfassungsstream und einen Vorschaudatenstrom auf. Beide Streams enthalten dieselben überlappende Daten.
- AVI Mux und File Writer schreiben den verschachtelten Stream auf den Datenträger.
- Der DV-Splitter teilt den überlappenden Stream in einen DV-Videostream und einen Audiostream auf. Beide Streams werden für die Vorschau gerendert.
- Der DV-Videodecoder decodiert den DV-Videostream für die Vorschau.
Erstellen Sie dieses Diagramm wie folgt:
ICaptureGraphBuilder2 *pBuilder; // Capture graph builder.
IBaseFilter *pDV; // DV capture filter (MSDV)
IBaseFilter *pAviMux // Avi Mux filter.
// Initialize pDV (not shown).
// Create and initialize the Capture Graph Builder (not shown).
// Create the file-writing section of the graph.
hr = pBuilder->SetOutputFileName(&MEDIASUBTYPE_Avi,
OLESTR("C:\\Example1.avi"), &pAviMux, 0);
// Render the capture stream.
hr = pBuilder->RenderStream(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Interleaved,
pDV, 0, pAviMux);
// Render the preview stream.
hr = pBuilder->RenderStream(&PIN_CATEGORY_PREVIEW, &MEDIATYPE_Interleaved,
pDV, 0, 0);
// Remember to release all interfaces.
- Rufen Sie ICaptureGraphBuilder2::SetOutputFileName auf, um den AVI Mux-Filter mit dem File Writer-Filter zu verbinden.
- Rufen Sie ICaptureGraphBuilder2::RenderStream mit der Pinkategorie PIN _ CATEGORY CAPTURE _ auf, um den Erfassungsstream zu rendern. Der Capture Graph Builder fügt automatisch den Smart Tee-Filter ein.
- Rufen Sie RenderStream erneut auf, aber mit der Pinkategorie PIN _ CATEGORY _ PREVIEW, um den Vorschaustream zu rendern. Überspringen Sie diesen Aufruf, wenn Sie keine Vorschau des Videos anzeigen möchten.
Bei beiden Aufrufen von RenderStream lautet der Medientyp MEDIATYPE _ Interleaved, d.h. überlappende DV-Videos. In diesem Code fügt capture Graph Builder automatisch jeden erforderlichen Filter hinzu, mit Ausnahme des MSDV-Erfassungsfilters.