[pulseaudio-discuss] [PATCH v6 00/37] raop2 support for module-raop-sink

Hajime Fujita crisp.fujita at gmail.com
Sun Jan 31 20:15:57 PST 2016

From: Hajime Fujita <crisp.fujita at nifty.com>

This is basically same as the previous patch series,
with several patches squashed for conciseness, rebased
on the latest master.

This patch set adds a support for UDP version of RAOP (so called
raop2). Most of the RAOP devices (e.g. AppleTV, AirportExpress,
third party AV receivers) today use UDP version, so this patch
set is expected to support those devices.

Also the patches can be seen from here:

Colin Leroy (5):
  rtp: New pa_rtsp_options function
  raop: Fix sink getting destroyed after one use
  raop: fix sequence number overflow
  raop: fix typos
  raop: Fix packet retransmission

Hajime Fujita (11):
  Support IPv6 address in pa_socket_client_new_string()
  rtp: Freeing ioline when disconnecting
  rtp: Introduce pa_rtsp_exec_ready()
  raop: Add UDP protocol handling
  raop: Add address to RAOP device description
  raop: Add IPv6 support
  raop: Silently drop out-of-history retransmission request
  raop: Stop recording when RTSP FLUSH is issued
  raop: Disable is_recording flag when tearing down the connection
  raop: Discard data upon getting EAGAIN on a socket
  raop: Fix memory leaks

Martin Blanchard (17):
  raop: Cosmetic fixes / Match coding style
  raop: Add pulsecore/core-utils a pa_str_in_list function
  raop: Parse server capabilities on discovery
  rtp: Random seq number at the beginning of the session
  raop: Do not send audio before RECORD response
  raop: Better playback resume handling
  raop: Extract encryption related code into a separate file
  raop: Add a MD5 hashing fuction
  raop: Add BA (Basic) and DA (Digest) HTTP authentication helpers
  raop: Add the core implementation of RAOP authentication
  raop: Merge TCP and UDP code paths + refactoring
  raop: Prefer ALAC encoding to raw PCM if supported by server
  raop: Update and standardise source file headers
  raop: Rework packet's store memory management
  raop: Remove unimplemented code (PCM and AAC)
  raop: Correctly wrap RTP packet sequence number
  raop: Add back initial volume RTSP SET_PARAMETER request on connect

Matthias Wabersich (1):
  raop: Packet retransmission support for UDP

Stephen Paul Weber (1):
  raop: Do not flush when RTSP object is not ready

ced2c (2):
  raop: Fix #36: invalid access to freed object
  raop: Fix #37: OOB access in rtsp_auth_cb

 src/Makefile.am                         |    8 +-
 src/modules/raop/base64.c               |  124 ---
 src/modules/raop/base64.h               |   32 -
 src/modules/raop/module-raop-discover.c |  253 +++--
 src/modules/raop/module-raop-sink.c     |  636 +----------
 src/modules/raop/raop-client.c          | 1767 +++++++++++++++++++++++++++++++
 src/modules/raop/raop-client.h          |   83 ++
 src/modules/raop/raop-crypto.c          |  146 +++
 src/modules/raop/raop-crypto.h          |   35 +
 src/modules/raop/raop-packet-buffer.c   |  161 +++
 src/modules/raop/raop-packet-buffer.h   |   40 +
 src/modules/raop/raop-sink.c            |  669 ++++++++++++
 src/modules/raop/raop-sink.h            |   33 +
 src/modules/raop/raop-util.c            |  209 ++++
 src/modules/raop/raop-util.h            |   32 +
 src/modules/raop/raop_client.c          |  563 ----------
 src/modules/raop/raop_client.h          |   42 -
 src/modules/rtp/rtsp_client.c           |  173 ++-
 src/modules/rtp/rtsp_client.h           |   60 +-
 src/pulsecore/core-util.c               |   20 +
 src/pulsecore/core-util.h               |    5 +-
 src/pulsecore/parseaddr.c               |   11 +
 src/pulsecore/parseaddr.h               |    2 +
 src/pulsecore/socket-client.c           |   21 +-
 24 files changed, 3598 insertions(+), 1527 deletions(-)
 delete mode 100644 src/modules/raop/base64.c
 delete mode 100644 src/modules/raop/base64.h
 create mode 100644 src/modules/raop/raop-client.c
 create mode 100644 src/modules/raop/raop-client.h
 create mode 100644 src/modules/raop/raop-crypto.c
 create mode 100644 src/modules/raop/raop-crypto.h
 create mode 100644 src/modules/raop/raop-packet-buffer.c
 create mode 100644 src/modules/raop/raop-packet-buffer.h
 create mode 100644 src/modules/raop/raop-sink.c
 create mode 100644 src/modules/raop/raop-sink.h
 create mode 100644 src/modules/raop/raop-util.c
 create mode 100644 src/modules/raop/raop-util.h
 delete mode 100644 src/modules/raop/raop_client.c
 delete mode 100644 src/modules/raop/raop_client.h


More information about the pulseaudio-discuss mailing list