<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - raop module does not work with shairport"
href="https://bugs.freedesktop.org/show_bug.cgi?id=42804#c43">Comment # 43</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - raop module does not work with shairport"
href="https://bugs.freedesktop.org/show_bug.cgi?id=42804">bug 42804</a>
from <span class="vcard"><a class="email" href="mailto:pulseaudio@niafc.de" title="Matthias <pulseaudio@niafc.de>"> <span class="fn">Matthias</span></a>
</span></b>
<pre>Hi Hajime, hi all,
(Bear with me, this is still my first time coding C).
I implemented a packet retransmission buffer (see attached patch).
It's a simple circular buffer. Each sent audio packet is stored in the buffer,
discarding the oldest packet. Buffer size is set to 1000 packets, according to
[1].
At a retransmission request from the remote device, the requested packet is
retrieved from the buffer and re-send with a retransmission header.
Hajime: The attached patch is against your v4.0+raop branch. I tried to keep
the patch to raop_client.c small - it would be great if you could merge it into
your raop2-for-merge branch. I could help out if you are short on time.
I also attached a snippet of a packet dump with my Minx Air. Packets 7 and 8
and 17 and 18, respectively, show a successful retransmission request and
reply.
All: Please test it and report back if you find any flaws.
Btw.: Hajime, you can add another device to your supported device list: Pioneer
VSX-922.
While testing the packet buffer I noticed that the volume level set via PA (I
use the gnome applet shipped with ubuntu 12.04) is not linear. Looking at the
code and comparing it to [2], I think that the volume calculation is wrong. In
the code, volume is calculated between VOLUME_MIN (-144) and VOLUME_MAX (0). I
think it should be calculated between (-30.0) and (0.0), as seen in [2].
Fixing this should be easy.
Greetings,
Matthias
[1]: <a href="http://git.zx2c4.com/Airtunes2/about/#constants">http://git.zx2c4.com/Airtunes2/about/#constants</a>
[2]: <a href="http://git.zx2c4.com/Airtunes2/about/#id29">http://git.zx2c4.com/Airtunes2/about/#id29</a></pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>