[pulseaudio-discuss] [PATCH 00/25] raop2 support for module-raop-sink
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. While there are still some remaining issues, and testing has not been done thoroughly, we'd like to have a review so that we can discuss some design/style issues as early as possible. A brief project description is here. http://hfujita.github.io/pulseaudio-raop2/ Also this raop issue is actively discussed in this thread. https://bugs.freedesktop.org/show_bug.cgi?id=42804 This patch set corresponds to the following branch on github. https://github.com/hfujita/pulseaudio-raop2/tree/raop2-for-merge1 Current status (as of 9/5/2013) * Plays back music on Pioneer VSX-43 (AV receiver) and some other devices (see below for tested device list). * Expected to support both TCP (original raop module) an UDP protocols. However, TCP protocol is not tested at all because we don't own a device. Known issues (as of 9/5/2013) * May not work with the latest AppleTV * Sound test (launched from the GNOME sound setting dialog) does not work (no sound heard). * Works reasonably with VLC/Totem/Rhythmbox but when playing music from Flash player, quite rough sound is heard. * There's a huge latency. Okay for music player but absolutely terrible for movies/voice chat. * Volume calculation is wrong (https://bugs.freedesktop.org/show_bug.cgi?id=42804#c43) Some comments on code structure * At this moment we intentionally tried not to fuse TCP code and UDP code too much. This is because we currently don't own a device that talks TCP version of RAOP, we were afraid that excessive code modification for TCP path could ruin its original functionality (and we can't detect it). Hajime Fujita (15): raop: Recognize transport protocol type raop: Rename client functions raop: Introduce sink_get_latency for latency calculation raop: Move RTSP announce to an external function raop: Code renaming for protocol specific IDs raop: Add dummy handler for RTSP OPTIONS raop: Use two port numbers for timing/control port raop: Honor encryption capability given by a remote device raop: Resume smoother for correct latency calculation raop: Set precise wake up timer for rtpoll raop: Set poll timer when entering the RUNNING state raop: Cleanup pollfd when the RTSP state enters TEARDOWN raop: Honor memchunk index when encoding chunks raop: Refactor UDP packet send path raop: More precise thread wakeup clock calculation Martin Blanchard (9): raop: Cosmetic fixes / Match coding style raop: Add pulsecore/core-utils a pa_str_in_list function raop: Parse server capabilities on discovery rtp: New pa_rtsp_options function rtp: Allow transport parameters to be ovewritten rtp: Random seq number at the beginning of the session raop: Use server name to construct a sink name raop: Add UDP protocol handling raop: Support for devices capable with both TCP and UDP Matthias Wabersich (1): raop: Packet retransmission support for UDP src/Makefile.am |3 +- src/modules/raop/base64.c | 28 +- src/modules/raop/base64.h |6 +- src/modules/raop/module-raop-discover.c | 247 --- src/modules/raop/module-raop-sink.c | 500 +++-- src/modules/raop/raop_client.c | 1177 +++ src/modules/raop/raop_client.h | 46 +- src/modules/raop/raop_packet_buffer.c | 160 + src/modules/raop/raop_packet_buffer.h | 41 ++ src/modules/rtp/rtsp_client.c | 92 ++- src/modules/rtp/rtsp_client.h | 34 +- src/pulsecore/core-util.c | 20 + src/pulsecore/core-util.h |5 +- 13 files changed, 2001 insertions(+), 358 deletions(-) create mode 100644 src/modules/raop/raop_packet_buffer.c create mode 100644 src/modules/raop/raop_packet_buffer.h -- 1.8.1.2 ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] [PATCH 00/25] raop2 support for module-raop-sink
On Sat, 2013-09-07 at 11:34 -0500, Hajime Fujita wrote: > 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. > > While there are still some remaining issues, and testing has not > been done thoroughly, we'd like to have a review so that we can > discuss some design/style issues as early as possible. This patch set is now the oldest one in our queue, so I plan to start reviewing it soon. Has the RAOP work moved on after these patches were submitted? If so, could you send an updated patch set? -- Tanu ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] [PATCH 00/25] raop2 support for module-raop-sink
Hello Tanu, On jeu., 2013-12-05 at 11:29 +0200, Tanu Kaskinen wrote: > On Sat, 2013-09-07 at 11:34 -0500, Hajime Fujita wrote: > > 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. > > > > While there are still some remaining issues, and testing has not > > been done thoroughly, we'd like to have a review so that we can > > discuss some design/style issues as early as possible. > > This patch set is now the oldest one in our queue, so I plan to start > reviewing it soon. Has the RAOP work moved on after these patches were > submitted? If so, could you send an updated patch set? > The work we are doing on the RAOP module is on github, in a repo managed by Hajime [1]. And yes, the code did move on after the patches send here... Moreover, there are a few commits that I haven't submitted yet to Hajime. Basically it brings an implementation for password authentication, plus a large re-factoring that aims at merging old TCP code path into the new UDP version. As of now, there are quiet some duplication between the two implementations. I don't know if Hajime has time to build a new set of patches. On my side, I need a few more weeks to finish re-factoring and testing the TCP code. So it's probably better to wait for a new version I guess, or, at least, for Hajime opinion on that. Anyway, thanks for the interest in our work ! [1] https://github.com/hfujita/pulseaudio-raop2/commits/raop2-for-merge1 Martin signature.asc Description: This is a digitally signed message part ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] [PATCH 00/25] raop2 support for module-raop-sink
Hi Tanu and Martin, Sorry for the late reply. I just pushed a new series of patches to raop2-for-merge2 branch. https://github.com/hfujita/pulseaudio-raop2/commits/raop2-for-merge2 Nothing has really been changed from raop2-for-merge1. It's just for rebasing and cleaning up some unused patches. Perhaps it would be better for Martin to rebase your new patches onto this branch before reviewing. If these patches are kind of trivial, I can merge them if you send them to me. (However the "refactoring" patch sounds non-trivial for me...) Thanks, Hajime Martin Blanchard wrote: > Hello Tanu, > > On jeu., 2013-12-05 at 11:29 +0200, Tanu Kaskinen wrote: >> On Sat, 2013-09-07 at 11:34 -0500, Hajime Fujita wrote: >>> 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. >>> >>> While there are still some remaining issues, and testing has not >>> been done thoroughly, we'd like to have a review so that we can >>> discuss some design/style issues as early as possible. >> >> This patch set is now the oldest one in our queue, so I plan to start >> reviewing it soon. Has the RAOP work moved on after these patches were >> submitted? If so, could you send an updated patch set? >> > > The work we are doing on the RAOP module is on github, in a repo managed > by Hajime [1]. And yes, the code did move on after the patches send > here... > > Moreover, there are a few commits that I haven't submitted yet to > Hajime. Basically it brings an implementation for password > authentication, plus a large re-factoring that aims at merging old TCP > code path into the new UDP version. As of now, there are quiet some > duplication between the two implementations. > > I don't know if Hajime has time to build a new set of patches. On my > side, I need a few more weeks to finish re-factoring and testing the TCP > code. So it's probably better to wait for a new version I guess, or, at > least, for Hajime opinion on that. Anyway, thanks for the interest in > our work ! > > [1] https://github.com/hfujita/pulseaudio-raop2/commits/raop2-for-merge1 > > Martin > > > > ___ > pulseaudio-discuss mailing list > pulseaudio-discuss@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss > ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] [PATCH 00/25] raop2 support for module-raop-sink
On Sun, 2013-12-08 at 00:11 -0600, Hajime Fujita wrote: > Hi Tanu and Martin, > > Sorry for the late reply. > > I just pushed a new series of patches to raop2-for-merge2 branch. > https://github.com/hfujita/pulseaudio-raop2/commits/raop2-for-merge2 > Nothing has really been changed from raop2-for-merge1. It's just for > rebasing and cleaning up some unused patches. > > Perhaps it would be better for Martin to rebase your new patches onto > this branch before reviewing. If these patches are kind of trivial, I > can merge them if you send them to me. (However the "refactoring" patch > sounds non-trivial for me...) OK. Please send the patches to the mailing list once you have figured out what you want to include in the review. -- Tanu ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] [PATCH 00/25] raop2 support for module-raop-sink
On Sat, 2013-12-14 at 08:06 +0200, Tanu Kaskinen wrote: > On Sun, 2013-12-08 at 00:11 -0600, Hajime Fujita wrote: > > Hi Tanu and Martin, > > > > Sorry for the late reply. > > > > I just pushed a new series of patches to raop2-for-merge2 branch. > > https://github.com/hfujita/pulseaudio-raop2/commits/raop2-for-merge2 > > Nothing has really been changed from raop2-for-merge1. It's just for > > rebasing and cleaning up some unused patches. > > > > Perhaps it would be better for Martin to rebase your new patches onto > > this branch before reviewing. If these patches are kind of trivial, I > > can merge them if you send them to me. (However the "refactoring" patch > > sounds non-trivial for me...) > > OK. Please send the patches to the mailing list once you have figured > out what you want to include in the review. Hi, do you have any plans to submit the patches at some point? -- Tanu ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] [PATCH 00/25] raop2 support for module-raop-sink
On Mon, 2014-09-15 at 11:08 +0300, Tanu Kaskinen wrote: > On Sat, 2013-12-14 at 08:06 +0200, Tanu Kaskinen wrote: > > On Sun, 2013-12-08 at 00:11 -0600, Hajime Fujita wrote: > > > Hi Tanu and Martin, > > > > > > Sorry for the late reply. > > > > > > I just pushed a new series of patches to raop2-for-merge2 branch. > > > https://github.com/hfujita/pulseaudio-raop2/commits/raop2-for-merge2 > > > Nothing has really been changed from raop2-for-merge1. It's just for > > > rebasing and cleaning up some unused patches. > > > > > > Perhaps it would be better for Martin to rebase your new patches onto > > > this branch before reviewing. If these patches are kind of trivial, I > > > can merge them if you send them to me. (However the "refactoring" patch > > > sounds non-trivial for me...) > > > > OK. Please send the patches to the mailing list once you have figured > > out what you want to include in the review. > > Hi, do you have any plans to submit the patches at some point? > Hello Tanu, As you probably noticed, it is Hajime that is taking care of the maintenance work. Earlier this year, after quite some time, I managed to send him a few more patches as promised in this thread. But I think he doesn't have as many time to spend on the project as he used to. Theses patches haven't been integrated in this repo yet. What I propose is to give him some more time to respond here. If we don't get any in few days, I'll try to publish a new set of patches. Martin signature.asc Description: This is a digitally signed message part ___ pulseaudio-discuss mailing list pulseaudio-discuss@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss