Erstellen des ASF-Splitterobjekts
Das ASF-Splitterobjekt ist ein WMContainer-Ebenenobjekt, das das ASF-Datenobjekt einer ASF-Datei (Advanced Systems Format) analysiert. Um eine neue instance des ASF-Splitterobjekts zu erstellen, rufen Sie die MFCreateASFSplitter-Funktion auf. Diese Funktion gibt einen Zeiger auf die IMFASFSplitter-Schnittstelle zurück, die ein leeres Splitterobjekt darstellt.
Bevor der Splitter mit der Analyse beginnen kann, muss die Anwendung den Splitter mit Informationen aus dem ASF-Headerobjekt initialisieren. Um den Splitter zu initialisieren, rufen Sie die METHODE IMFASFSplitter::Initialize auf . Diese Methode verwendet einen Zeiger auf das ASF ContentInfo-Objekt , das Headerinformationen der zu analysierenden ASF-Datei enthält. Die Anwendung muss das ContentInfo-Objekt initialisieren, bevor es an den Splitter übergeben wird, damit die Eigenschaften der Mediendatei der Anwendung bekannt sind. Die Initialize-Methode des Splitters extrahiert Datenstrominformationen aus dem ContentInfo-Objekt, z. B. Datenstromnummern, damit der Splitter die Datenpakete analysieren kann.
Beispiel
Das folgende Codebeispiel zeigt, wie Sie einen Splitter erstellen und mit einem vorhandenen ContentInfo-Objekt initialisieren.
// Create and initialize the ASF splitter.
HRESULT CreateASFSplitter (IMFASFContentInfo* pContentInfo,
IMFASFSplitter** ppSplitter)
{
IMFASFSplitter *pSplitter = NULL;
// Create the splitter object.
HRESULT hr = MFCreateASFSplitter(&pSplitter);
// Initialize the splitter to work with specific ASF data.
if (SUCCEEDED(hr))
{
hr = pSplitter->Initialize(pContentInfo);
}
if (SUCCEEDED(hr))
{
// Return the object to the caller.
*ppSplitter = pSplitter;
(*ppSplitter)->AddRef();
}
SafeRelease(&pSplitter);
return hr;
}
Hinweis
In diesem Beispiel wird die SafeRelease-Funktion verwendet, um Schnittstellenzeiger freizugeben.
Zugehörige Themen