[PATCH 00/14] 360° API
Steve Lhomme
robux4 at videolabs.io
Fri Sep 30 18:36:11 CEST 2016
Since the last batch of patches the design has changed a little. Internally we
don't use a string anymore for the "viewpoint" variable. It's a fixed structure
that is either stored in playlist_t for the desktop player or in the media
player for libvlc. The string is only used to set the viewpoint from the
command-line on startup. It is faster and safer than parsing floats in strings
all the time.
All vouts now share the same viewpoint values.
If a control module changes the viewpoint of a vout, libvlc_video_get_viewpoint
will read the modified value, not the internal media player one, which will
be updated during that call.
The patches can be found on this branch
https://github.com/robUx4/vlc/commits/360-patchset1_1
Steve Lhomme (14):
configure: fix glwin32 project inclusion
opengl: fix the projection aspect ratio
opengl: start the 360° display from the left part of the video
core: add viewpoint to change the yaw/pitch/roll view during playback
hotkeys: new hotkeys to change the viewpoint in 360° videos
vrnav: add control to change the viewpoint in 360° videos with the
mouse
opengl: handle the viewpoint changes when rendering
opengl: no need to restrict the radian values
glwin32: handle VOUT_DISPLAY_CHANGE_VIEWPOINT events
vout iOS: handle VOUT_DISPLAY_CHANGE_VIEWPOINT events
vout_macosx: handle VOUT_DISPLAY_CHANGE_VIEWPOINT events
xcb: handle VOUT_DISPLAY_CHANGE_VIEWPOINT events
test: use the jpeg file to test vout specific calls
libvlc: add the API needed to set/get the viewpoint in 360° videos
configure.ac | 2 +-
include/vlc/libvlc_media_player.h | 54 +++++++++
include/vlc_keys.h | 3 +
include/vlc_playlist.h | 10 ++
include/vlc_vout.h | 9 ++
include/vlc_vout_display.h | 7 ++
include/vlc_vout_wrapper.h | 3 +
lib/audio.c | 1 +
lib/libvlc.sym | 3 +
lib/media_player.c | 10 ++
lib/media_player_internal.h | 1 +
lib/video.c | 52 +++++++++
modules/control/Makefile.am | 4 +-
modules/control/hotkeys.c | 56 ++++++++-
modules/control/vrnav.c | 221 +++++++++++++++++++++++++++++++++++
modules/video_output/gl.c | 6 +
modules/video_output/ios2.m | 7 ++
modules/video_output/macosx.m | 9 +-
modules/video_output/opengl.c | 18 ++-
modules/video_output/opengl.h | 3 +
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 | 4 +
src/playlist/engine.c | 34 ++++++
src/video_output/control.h | 2 +
src/video_output/display.c | 49 +++++++-
src/video_output/video_output.c | 26 +++++
src/video_output/vout_intf.c | 18 +++
test/Makefile.am | 2 +-
test/libvlc/media_player.c | 94 +++++++++++++++
test/libvlc/test.h | 3 +-
33 files changed, 754 insertions(+), 16 deletions(-)
create mode 100644 modules/control/vrnav.c
--
2.8.2
More information about the vlc-devel
mailing list