Delen via


Videovoorbeelden

Het videovoorbeeldobject is een gespecialiseerde implementatie van de IMFSample interface voor gebruik met de Enhanced Video Renderer (EVR). Als u een exemplaar van dit object wilt maken, roept u de functie MFCreateVideoSampleFromSurface aan. De functie neemt een pointer naar een Direct3D-oppervlak en retourneert een pointer naar de IMFSample-interface. De volgende typen objecten moeten voorbeelden toewijzen met behulp van deze functie:

Het videovoorbeeldobject implementeert de volgende interfaces:

Als de parameter pUnkSurface van MFCreateVideoSampleFromSurface niet-NULLis, bevat het resulterende videomonster één mediabuffer die het Direct3D-oppervlak inkapselt. Dit bufferobject heeft beperkte functionaliteit:

De enige manier om toegang te krijgen tot het oppervlak vanuit de buffer is door IMFGetService::GetServiceaan te roepen met behulp van de service-id MR_BUFFER_SERVICE.

Als de parameter pUnkSurface NULLis, wordt het videosample gemaakt met nul mediabuffers. Ga als volgt te werk om een buffer toe te voegen aan het voorbeeld:

  1. Maak een Direct3D-oppervlak.

  2. Maak een surfacebuffer door MFCreateDXSurfaceBuffer aan te roepen. Zie DirectX Surface Buffervoor meer informatie.

  3. Voeg de buffer toe aan het voorbeeld door IMFSample::AddBufferaan te roepen.

Gebruik deze benadering als u het surface memory toegankelijk moet maken via de IMF2DBuffer interface.

Mediabuffers

mediavoorbeelden