[vlc-devel] [PATCH 00/15] Add NativeClient/PPAPI support

Julian Scheel julian at jusst.de
Wed Mar 8 15:55:17 CET 2017


This patch series makes it possible to compile VLC for Google Chrome's Native
Client environment. NaCl uses a newlib libc plus several NaCl specific
changes/replacements. This requires some special treatment here and there.
By design most access plugins are not usable in a sane way in NaCl, but for
now UDP and RTP access are working when sufficient permissions are given to
the Chrome App.
Ontop of changes to make a build possible two new modules are added.
video_output/ppapi/: GL module to render video to the Chrome GL context
audio_output/ppapi.c: Audio output to render audio to Chrome

Building for NaCl requires usage of a NaCl toolchain from the NaCl SDK. For
convenience we use webports (https://chromium.googlesource.com/webports) to
build libvlc and it's dependencies. The patches to add libvlc in there will be
pushed for webports once these patches have landed in VLC.

Besides that a demo application using libvlc, exposing part of the libvlc API
as JavaScript, exists and will be published soonish.

Best,
Julian & Dennis

Dennis Hamester (4):
  configure: Test if pathconf exists
  nacl: Implement vlc_getaddr_info_i11e
  nacl: Add custom thread implementation
  compat: Add custom implementation of recvmsg/sendmsg on NaCl

Julian Scheel (11):
  newlib/nacl: Provide flockfile implementation
  nacl: Add new system type
  nacl: Do not use signals
  nacl: nacl comes with xlocale dummies for C++
  newlib/nacl: Include sys/uio for iovec
  configure: Define posix/open macros for nacl builds
  configure: Enable extended C++11 support
  keystore: nacl: Include fcntl.h for flock
  lib/media_player: Add variables for NaCl handles
  video_output: Add PPAPI plugin
  audio_output: Add PPAPI plugin

 NEWS                                 |   3 +
 compat/flockfile.c                   |   2 +-
 compat/recvmsg.c                     |  51 +++-
 compat/sendmsg.c                     |  50 +++-
 configure.ac                         |  13 +-
 include/vlc/libvlc_media_player.h    |  35 +++
 include/vlc_fixups.h                 |   8 +-
 include/vlc_threads.h                |   2 +-
 include/vlc_vout_window.h            |   9 +
 lib/libvlc.sym                       |   3 +
 lib/media_player.c                   |  50 ++++
 modules/audio_output/Makefile.am     |   8 +
 modules/audio_output/ppapi.c         | 259 ++++++++++++++++++
 modules/keystore/file.c              |   4 +
 modules/video_output/Makefile.am     |  19 ++
 modules/video_output/ppapi/display.c | 324 ++++++++++++++++++++++
 modules/video_output/ppapi/gl.c      | 133 +++++++++
 modules/video_output/ppapi/window.c  |  96 +++++++
 src/Makefile.am                      |  13 +
 src/nacl/plugin.c                    |  46 ++++
 src/nacl/thread.c                    | 510 +++++++++++++++++++++++++++++++++++
 src/network/getaddrinfo.c            |   3 +-
 src/posix/filesystem.c               |  15 +-
 23 files changed, 1647 insertions(+), 9 deletions(-)
 create mode 100644 modules/audio_output/ppapi.c
 create mode 100644 modules/video_output/ppapi/display.c
 create mode 100644 modules/video_output/ppapi/gl.c
 create mode 100644 modules/video_output/ppapi/window.c
 create mode 100644 src/nacl/plugin.c
 create mode 100644 src/nacl/thread.c

-- 
2.12.0



More information about the vlc-devel mailing list