Freigeben über


MFCreateAggregateSource-Funktion (mfidl.h)

Erstellt eine Medienquelle, die eine Sammlung von Medienquellen aggregiert.

Syntax

HRESULT MFCreateAggregateSource(
  [in]  IMFCollection  *pSourceCollection,
  [out] IMFMediaSource **ppAggSource
);

Parameter

[in] pSourceCollection

Ein Zeiger auf die IMFCollection-Schnittstelle des Auflistungsobjekts, das eine Liste von Medienquellen enthält.

[out] ppAggSource

Empfängt einen Zeiger auf die IMFMediaSource-Schnittstelle der aggregierten Medienquelle. Der Aufrufer muss die Schnittstelle freigeben.

Rückgabewert

Die Funktion gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich ausgeführt.
E_INVALIDARG
Die pSourceCollection-Auflistung enthält keine Elemente.

Hinweise

Die aggregierte Medienquelle ist nützlich, um Datenströme aus separaten Medienquellen zu kombinieren. Sie können sie beispielsweise verwenden, um eine Videoaufnahmequelle und eine Audioaufnahmequelle zu kombinieren.

Beispiele

HRESULT CreateAggregatedSource(
    IMFMediaSource *pSource1,
    IMFMediaSource *pSource2,
    IMFMediaSource **ppAggSource
    )
{
    *ppAggSource = NULL;

    IMFCollection *pCollection = NULL;

    HRESULT hr = MFCreateCollection(&pCollection);

    if (SUCCEEDED(hr))
    {
        hr = pCollection->AddElement(pSource1);
    }
    if (SUCCEEDED(hr))
    {
        hr = pCollection->AddElement(pSource2);
    }
    if (SUCCEEDED(hr))
    {
        hr = MFCreateAggregateSource(pCollection, ppAggSource);
    }
    SafeRelease(&pCollection);
    return hr;    
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile mfidl.h
Bibliothek Mf.lib
DLL Mf.dll

Weitere Informationen

IMFMediaSource

Media Foundation-Funktionen