Exemples vidéo

L’exemple d’objet vidéo est une implémentation spécialisée de l’interface IMFSample pour une utilisation 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 Video implémente les interfaces suivantes :

Si le paramètre pUnkSurface de MFCreateVideoSampleFromSurface est non null, l’exemple de vidéo qui en résulte contient une seule mémoire tampon de média 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 _ service de mémoire tampon Mr _ .

Si le paramètre pUnkSurface est null, l’exemple de vidéo est créé avec des tampons de média nuls. 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 DirectX surface buffer.

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

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

Mémoires tampons de média

Exemples de supports