Esempi di video

L'oggetto di esempio video è un'implementazione specializzata dell'interfaccia IMFSample da usare con il renderer video avanzato (EVR). Per creare un'istanza di questo oggetto, chiamare la funzione MFCreateVideoSampleFromSurface . La funzione accetta un puntatore a una superficie Direct3D e restituisce un puntatore all'interfaccia IMFSample . I tipi di oggetti seguenti devono allocare campioni usando questa funzione:

L'oggetto di esempio video implementa le interfacce seguenti:

Se il parametro pUnkSurface di MFCreateVideoSampleFromSurface è diverso da NULL, l'esempio video risultante contiene un singolo buffer multimediale che incapsula la superficie Direct3D. Questo oggetto buffer ha funzionalità limitate:

L'unico modo per accedere alla superficie dal buffer consiste nel chiamare IMFGetService::GetService, usando l'identificatore del servizio MR_BUFFER_SERVICE.

Se il parametro pUnkSurface è NULL, l'esempio video viene creato con zero buffer multimediali. Per aggiungere un buffer, eseguire le operazioni seguenti:

  1. Creare una superficie Direct3D.

  2. Creare un buffer di superficie chiamando MFCreateDXSurfaceBuffer. Per altre informazioni, vedere DirectX Surface Buffer.

  3. Aggiungere il buffer all'esempio chiamando IMFSample::AddBuffer.

Usare questo approccio se è necessario che la memoria di superficie sia accessibile tramite l'interfaccia IMF2DBuffer .

Buffer multimediali

Esempi multimediali