Dela via


Videoexempel

Videoexempelobjektet är en specialiserad implementering av IMFSample--gränssnittet för användning med Enhanced Video Renderer (EVR). Om du vill skapa en instans av det här objektet anropar du funktionen MFCreateVideoSampleFromSurface. Funktionen tar en pekare till en Direct3D-yta och returnerar en pekare till IMFSample--gränssnittet. Följande typer av objekt bör allokera exempel med den här funktionen:

Videoexempleobjektet implementerar följande gränssnitt:

Om parametern pUnkSurface för MFCreateVideoSampleFromSurface inte ärNULL-innehåller det resulterande videoexemplet en enda mediebuffert som kapslar in Direct3D-ytan. Det här buffertobjektet har begränsade funktioner:

Det enda sättet att komma åt ytan från bufferten är att anropa IMFGetService::GetService, med hjälp av tjänstidentifieraren MR_BUFFER_SERVICE.

Om parametern pUnkSurface är NULL, skapas videoprovet utan mediebuffertar. Gör följande för att lägga till en buffert i exemplet:

  1. Skapa en Direct3D-yta.

  2. Skapa en ytbuffert genom att anropa MFCreateDXSurfaceBuffer. Mer information finns i DirectX Surface Buffer.

  3. Lägg till bufferten i exemplet genom att anropa IMFSample::AddBuffer.

Använd den här metoden om du behöver att ytminnet ska vara tillgängligt via IMF2DBuffer--gränssnittet.

mediebuffertar

Mediaexempel