Exemples vidéo

L’exemple d’objet vidéo est une implémentation spécialisée de l’interface IMFSample à utiliser avec le convertisseur vidéo amélioré (EVR). Pour créer une instance de cet objet, appelez la fonction MFCreateVideoSampleFromSurface. La fonction prend un pointeur vers une surface Direct3D et retourne un pointeur vers l’interface IMFSample . Les types d’objets suivants doivent allouer des exemples à l’aide de cette fonction :

L’exemple d’objet vidéo implémente les interfaces suivantes :

Si le paramètre pUnkSurface de MFCreateVideoSampleFromSurface n’est pas NULL, l’exemple vidéo résultant contient une mémoire tampon multimédia unique qui encapsule la surface Direct3D. Cet objet de mémoire tampon a des fonctionnalités limitées :

La seule façon d’accéder à la surface à partir de la mémoire tampon consiste à appeler IMFGetService::GetService, à l’aide de l’identificateur de service MR_BUFFER_SERVICE.

Si le paramètre pUnkSurface a la valeur NULL, l’exemple vidéo est créé avec aucune mémoire tampon multimédia. Pour ajouter un tampon à l’exemple, procédez comme suit :

  1. Créez une surface Direct3D.

  2. Créez une mémoire tampon de surface en appelant MFCreateDXSurfaceBuffer. Pour plus d’informations, consultez Mémoire tampon surface DirectX.

  3. Ajoutez la mémoire tampon à l’exemple en appelant IMFSample::AddBuffer.

Utilisez cette approche si vous avez besoin que la mémoire surface soit accessible via l’interface IMF2DBuffer .

Mémoires tampons multimédias

Exemples multimédias