Partager via


Création de l’objet Splitter ASF

L’objet splitter ASF est un objet de couche WMContainer qui analyse l’objet de données ASF d’un fichier ASF (Advanced Systems Format). Pour créer une instance de l’objet de séparateur ASF, appelez la fonction MFCreateASFSplitter. Cette fonction retourne un pointeur vers l’interface IMFASFSplitter qui représente un objet de séparateur vide.

Avant que le séparateur puisse commencer l’analyse, l’application doit initialiser le séparateur avec les informations de l’objet d’en-tête ASF. Pour initialiser le séparateur, appelez la méthode IMFASFSplitter::Initialize . Cette méthode prend un pointeur vers l’objet ContentInfo ASF qui contient les informations d’en-tête du fichier ASF à analyser. L’application doit initialiser l’objet ContentInfo avant de le transmettre au séparateur afin que les caractéristiques du fichier multimédia soient connues de l’application. La méthode Initialize du séparateur extrait les informations de flux de l’objet ContentInfo, telles que les numéros de flux, afin que le séparateur puisse analyser les paquets de données.

Exemple

L’exemple de code suivant montre comment créer un séparateur et l’initialiser avec un objet ContentInfo existant.

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

Notes

Cet exemple utilise la fonction SafeRelease pour libérer des pointeurs d’interface.

 

Séparateur ASF