Lost packet statistics
Jörgen Terner <[email protected]>
| Newsgroups | gmane.comp.gnu.ccrtp.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi again!
Now, I'm having trouble with statistics. I call the SyncSourceLink::getCumulativeLostPackets()-method (iqueue.h). It seems, however, that the baseSeqNum used in SyncSourceLink::computeStats()-method always is zero.
I expected the method SyncSourceLink::initSequence to be called when the first packet arrived. First, the method is never called when I run my tests (might be because of my tests i guess), secondly I expected it to initiate the baseSeqNum but it doesn't.
Now, I've added a line to IncomingDataQueue::recordReception to initiate the baseSeqNum:
----------------------------------------
...
if ( result ) {
// the packet is considered valid.
srcLink.incObservedPacketCount();
srcLink.incObservedOctetCount(pkt.getPayloadSize());
srcLink.lastPacketTime = recvtime;
if ( srcLink.getObservedPacketCount() == 1 ) {
// ooops, it's the first packet from this source
setSender(*src,true);
srcLink.baseSeqNum = pkt.getSeqNum(); // Added by me (Jörgen)
srcLink.setInitialDataTimestamp(pkt.getTimestamp());
}
...
-----------------------------------------
Now, at least the number of lost packets is not HUGE but still, the number of lost packets is about twice the number of received packets. Might of course be because of the client I use in these tests. To get the statistics I stream a quicktime-file with JM Studio and I've not looked how it generate the sequence numbers...
Anyone using the statistics from ccrtp?
-Jörgen