[PATCH 0/4] Add AirPlay stream out support

Alexander Lyon arlyon at me.com
Tue Oct 9 00:47:48 CEST 2018

This patchset adds support for AirPlay as a new render target similar to the
Chromecast module. A few things were required to achieve this, the most
significant of which being the inclusion of libplist [1] to encode / decode the
binary plists that the AirPlay protocol uses. Additionally, it implements a
slightly modified version of the SRP6 protocol (thanks Apple..) that is used
in the key exchange.

The code entry UI is a placeholder and needs to be replaced with a single-field
entry dialog.

Since AirPlay is a pull protocol, an http server is required to host the file.
The method used to find out what interface to run it on is a little clunky
so if anyone has any improvements they would be appreciated.

All comments / criticism welcome!

[1]: https://github.com/libimobiledevice/libplist

Alexander Lyon (4):
  contrib: add libplist
  microdns: add airplay to list of protocols
  bonjour: add airplay to list of protocols
  sout: add airplay support

 configure.ac                          |    5 +
 contrib/src/libplist/SHA512SUMS       |    1 +
 contrib/src/libplist/rules.mak        |   28 +
 modules/MODULES_LIST                  |    1 +
 modules/services_discovery/bonjour.m  |    8 +-
 modules/services_discovery/microdns.c |    1 +
 modules/stream_out/Makefile.am        |    8 +
 modules/stream_out/airplay/airplay.c  | 2771 +++++++++++++++++++++++++
 modules/stream_out/airplay/csrp/srp.c |  955 +++++++++
 modules/stream_out/airplay/csrp/srp.h |  233 +++
 10 files changed, 4010 insertions(+), 1 deletion(-)
 create mode 100644 contrib/src/libplist/SHA512SUMS
 create mode 100644 contrib/src/libplist/rules.mak
 create mode 100644 modules/stream_out/airplay/airplay.c
 create mode 100755 modules/stream_out/airplay/csrp/srp.c
 create mode 100755 modules/stream_out/airplay/csrp/srp.h


More information about the vlc-devel mailing list