<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>