[PATCH 00/10] 360°/VR viewpoint API

Steve Lhomme robux4 at videolabs.io
Fri Sep 16 18:00:25 CEST 2016


Instead of sending patches of patches of patches I'll send the main current
batch as one. The code has been reworked to use a single structure to
define a viewpoint. There's also a way to get the vout/display viewpoint
value currently in use. It will not be updated as soon as a value is set. 
This is described accordingly in the libvlc documentation.

The API is no safe between different vouts. When there's no vout, reading or
writing from libvlc just use a local variable that will be used when a vout is
created.

All opengl vouts are included in this batch rather than separately before.

There's another batch after that to set the projection mode and another to
add zooming.

Steve Lhomme (10):
  core: add viewpoint variables to change the yaw/pitch/roll view during
    playback
  hotkeys: new hotkeys to change the viewpoint in 360° videos
  libvlc: add the API needed to set/get the viewpoint in 360° videos
  opengl: handle the viewpoint changes when rendering
  glwin32: handle VOUT_DISPLAY_CHANGE_VIEWPOINT events
  vrnav: add control to change the viewpoint in 360° videos with the
    mouse
  vout iOS: handle VOUT_DISPLAY_CHANGE_VIEWPOINT events
  vout_macosx: handle VOUT_DISPLAY_CHANGE_VIEWPOINT events
  xcb: handle VOUT_DISPLAY_CHANGE_VIEWPOINT events
  core: use vrnav by default

 bin/vlc.c                            |   1 +
 bin/winvlc.c                         |   1 +
 include/vlc/libvlc_media_player.h    |  61 ++++++++++
 include/vlc_keys.h                   |   3 +
 include/vlc_vout.h                   |   9 ++
 include/vlc_vout_display.h           |   9 ++
 include/vlc_vout_wrapper.h           |   3 +
 lib/libvlc.sym                       |   3 +
 lib/media_player.c                   |   1 +
 lib/video.c                          | 114 +++++++++++++++++
 modules/control/Makefile.am          |   4 +-
 modules/control/hotkeys.c            |  44 ++++++-
 modules/control/vrnav.c              | 229 +++++++++++++++++++++++++++++++++++
 modules/video_output/gl.c            |   6 +
 modules/video_output/ios2.m          |   7 ++
 modules/video_output/macosx.m        |   9 +-
 modules/video_output/opengl.c        |  35 ++++++
 modules/video_output/opengl.h        |   2 +
 modules/video_output/win32/glwin32.c |  16 ++-
 modules/video_output/xcb/glx.c       |   7 ++
 src/config/keys.c                    |   2 +
 src/libvlc-module.c                  |  34 +++++-
 src/libvlccore.sym                   |   2 +
 src/video_output/control.h           |   2 +
 src/video_output/display.c           |  45 ++++++-
 src/video_output/video_output.c      |  27 +++++
 src/video_output/vout_intf.c         |  30 +++++
 test/libvlc/media_player.c           |  64 ++++++++++
 28 files changed, 760 insertions(+), 10 deletions(-)
 create mode 100644 modules/control/vrnav.c



More information about the vlc-devel mailing list