LX3JL / xlxd

HAM radio multiprotocol dstar reflector server
GNU General Public License v3.0
172 stars 110 forks source link

Future request / issue report: care about packet reordering #75

Open cyanide-burnout opened 6 years ago

cyanide-burnout commented 6 years ago

Existing implementations of CPacketStream and CPacketQueue don't care about probabilistic reordering of UDP packets. Normally it should care about sequence numbers to process audio frames on the right order.

LX3JL commented 5 years ago

This is actually the job of the repeaters/hotspot. Indeed, even if xlx reorder udp packet before forwaring them to clients, there are no garanties that they will not be scrambled again on their way to the final destination.

cyanide-burnout commented 5 years ago

I cannot be agree with your point. In case when xlxd does transcoding it changes sequence numbers from D-STAR’s resolution of 21 numbers per sequence to at least MMDVM’s resolution of 256 numbers per sequence. In this case you breake a sequence. Also AMBE has a statefull algorithm and you have to provide frames to it in a proper sequence.

cyanide-burnout commented 5 years ago

So I meant that not only repeaters/hotspots should care about sequence but xlxd too. Anyway its up to you to improve a product or not.