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