[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