[vlc-devel] [PATCH 0/8 v4] surface rendering callbacks

Steve Lhomme robux4 at ycbcr.xyz
Mon Jan 21 17:38:43 CET 2019


This is another variant of the same patches. This time there's only one
callback and the different calls are passed via control "messages" which
all have an input pointer and an output pointer (unused most of the time).

This allows having multiple engines available through the same simple API
and only support the things the host really cares about. All current cases
are supported even future ones (passing the chroma or the HDR parameters in/out).

Steve Lhomme (8):
  display: use a control callback for external rendering
  libvlc: add a control to notify the host when the rendering
    starts/ends
  direct3d9: handle external callbacks to render into an external
    surface
  libvlc: add callbacks to render to an external D3D9 surface
  doc: add a sample app to test the Direct3D9 host of libvlc
  direct3d11: handle external callbacks to render into an external
    surface
  libvlc: add callbacks to render to an external D3D11 surface
  doc: add a sample Win32 app to test the Direct3D11 host of libvlc

 doc/libvlc/d3d11_player.cpp             | 472 ++++++++++++++++++++++++
 doc/libvlc/d3d9_player.c                | 315 ++++++++++++++++
 doc/libvlc/sdl_opengl_player.cpp        | 107 +++---
 include/vlc/libvlc_media_player.h       | 265 ++++++++-----
 include/vlc_vout_display.h              |  70 ++++
 lib/libvlc.sym                          |   2 +-
 lib/media_player.c                      |  51 ++-
 modules/video_output/vgl.c              |  55 ++-
 modules/video_output/win32/direct3d11.c | 113 ++++--
 modules/video_output/win32/direct3d9.c  |  90 +++--
 10 files changed, 1279 insertions(+), 261 deletions(-)
 create mode 100644 doc/libvlc/d3d11_player.cpp
 create mode 100644 doc/libvlc/d3d9_player.c

-- 
2.17.1



More information about the vlc-devel mailing list