Ejemplos de vídeo

El objeto de ejemplo de vídeo es una implementación especializada de la interfaz IMFSample para su uso con el representador de vídeo mejorado (EVR). Para crear una instancia de este objeto, llame a la función MFCreateVideoSampleFromSurface . La función toma un puntero a una superficie direct3D y devuelve un puntero a la interfaz IMFSample . Los siguientes tipos de objetos deben asignar ejemplos mediante esta función:

El objeto de ejemplo de vídeo implementa las siguientes interfaces:

Si el parámetro pUnkSurface de MFCreateVideoSampleFromSurface no es NULL, la muestra de vídeo resultante contiene un único búfer multimedia que encapsula la superficie de Direct3D. Este objeto de búfer tiene funcionalidad limitada:

La única manera de acceder a la superficie desde el búfer es llamar a IMFGetService::GetService, mediante el identificador de servicio MR_BUFFER_SERVICE.

Si el parámetro pUnkSurface es NULL, el ejemplo de vídeo se crea con cero búferes multimedia. Para agregar un búfer al ejemplo, haga lo siguiente:

  1. Cree una superficie de Direct3D.

  2. Cree un búfer de superficie llamando a MFCreateDXSurfaceBuffer. Para obtener más información, consulta DirectX Surface Buffer.

  3. Agregue el búfer al ejemplo llamando a IMFSample::AddBuffer.

Utilice este enfoque si necesita que la memoria expuesta sea accesible a través de la interfaz IMF2DBuffer .

Búferes multimedia

Ejemplos de medios