<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#c50">Comment # 50</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:crisp.fujita@nifty.com" title="Hajime Fujita <crisp.fujita@nifty.com>"> <span class="fn">Hajime Fujita</span></a>
</span></b>
        <pre>Hi Matthias,

Come to think of it, when I first try your original patch, I didn't see
retransmission request burst, that means it also worked for my device. Sorry
for having jumped into the wrong conclusion.

<span class="quote">> A possible explanation could be that my remote device accepts re-sent audio packets at the streaming port > (regardless of payload type(!)) if the sequence number matches the one requested.</span >

This would make sense. In principle there is no order guarantee for UDP/IP, so
the device should expect reordered/delayed packet.
So if the device ignores the payload type field, the behavior would be the same
as for natural reordered packet.


BTW, by reading raop_packet_buffer.c, I realized that pb_get_packet() did not
work (i.e. did not copy the data to the given user buffer).
<span class="quote">> packet_data = packet->packet;</span >
This is just manipulating the pointer, not touching the data referenced by the
pointer.

FYI, in C, it should have been either:
    for (i = 0; i < len; i++)
        packet_data[i] = packet->packet[i];
or
    memcpy(packet_data, packet->packet, len);

As a result, even the retransmission packet was accepted by the device, we
could not expect to hear a meaningful sound from it.
Probably this is the reason that I experienced sound glitch on retransmission
when I tried your patch first.

If you don't mind, I'll take a look and rewrite the code. (At the same time
I'll adapt the code to the latest raop2-for-merge branch.)


Thanks,
Hajime</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>