[Live-devel] Out of order packets

Mallikharjuna Reddy (NAVT) ymreddy at ssdi.sharp.co.in
Fri Sep 15 02:42:41 PDT 2006


Hi Ross,

Thanks for the information.

We are simulating in the server program to send the out of order packets.

In the client side, we are storing the received packets numbers into a
buffer. This buffer is a linked list, which is sorted based on the sequence
numbers.

When the sequence numbers are wrapped, since the sequence numbers start with
0, we are using this variable "newSeqNum", in our linked list. This variable
"newSeqNum" gives the extended sequence numbers, beyond the magic number
65535. In this scenario, when the out of order packet comes, then this
variable "newSeqNum" gives wrong value. Following example illustrates the
scenario:

Assume the server is sending the stream starting with sequence number 65000.
Assume there is a out of order packet for the sequence number 65500. When
the sequence number is wrapped around, the sequence number starts with zero.
In the client side, in the noteIncomingPacket() function, the variable
"newSeqNum" becomes 65536. At this point of time, if the client receives out
of order packet with sequence number 65500, then the variable "newSeqNum"
becomes 131036, which we feel is a wrong number.

Please provide your suggesions.

Thanks and Regards
Y. Mallikharjuna Reddy


-----Original Message-----
From: live-devel-bounces at ns.live555.com
[mailto:live-devel-bounces at ns.live555.com]On Behalf Of Ross Finlayson
Sent: Friday, September 15, 2006 1:28 PM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] Out of order packets


>We are using LIVE server (testMPEG1or2VideoStreamer.cpp) and client
>(testMPEG1or2VideoReceiver.cpp) to stream MPEG data. We found that when the
>sequence number is wrapped around, and when the server sends out of order
>packets

Our server code should not be sending out-of-order packets!  It's 
always possible that the network (between the server and client) may 
reorder some packets, but the server should not be sending them out 
of order.

>, the calculation of newSeqNum is found to be wrong in the function
>noteIncomingPacket() in file RTPSource.cpp. For example, when the server
>starts sending the stream with sequence number starting from 65000 and the
>sequence number is wrapped wround, and when the server try to send the out
>of order packet, for example, with the sequence number 65500, then the
>calculation of newSeqNum seems to be wrong. We need to store this out of
>order packet with the sequence number 65500 in the correct order. Since
this
>calculation gives some incorrect value, this out of order packet is getting
>stored in a wrong place.

I don't understand the problem that you're referring to.  I suspect 
that you are misunderstanding the purpose of the 
"noteIncomingPacket()" function (note that it just records 
*statistics*; it doesn't actually store the packet).

If you have a specific example (illustrated with a specific series of 
incoming sequence numbers) that demonstrates the 'problem', then let 
us know (with a detailed explanation of what you think the problem 
is).
-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
live-devel at lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


More information about the live-devel mailing list