Partager via


Fonction MFCreateAggregateSource (mfidl.h)

Crée une source multimédia qui agrège une collection de sources multimédias.

Syntaxe

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

Paramètres

[in] pSourceCollection

Pointeur vers l’interface IMFCollection de l’objet de collection qui contient une liste de sources multimédias.

[out] ppAggSource

Reçoit un pointeur vers l’interface IMFMediaSource de la source multimédia agrégée. L’appelant doit libérer l’interface.

Valeur retournée

La fonction retourne un HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
S_OK
E_INVALIDARG
La collection pSourceCollection ne contient aucun élément.

Remarques

La source multimédia agrégée est utile pour combiner des flux provenant de sources multimédias distinctes. Par exemple, vous pouvez l’utiliser pour combiner une source de capture vidéo et une source de capture audio.

Exemples

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;    
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête mfidl.h
Bibliothèque Mf.lib
DLL Mf.dll

Voir aussi

IMFMediaSource

Fonctions Media Foundation