RTP Trace System  1.0
sourcestateinfo.h
Go to the documentation of this file.
00001 // ##########################################################################
00002 // ####                                                                  ####
00003 // ####                      RTP Audio Server Project                    ####
00004 // ####                    ============================                  ####
00005 // ####                                                                  ####
00006 // #### Source State Info                                                ####
00007 // ####                                                                  ####
00008 // #### Version 1.00  --  February 16, 2001                              ####
00009 // ####                                                                  ####
00010 // #### Copyright (C) 1999  Thomas Dreibholz                             ####
00011 // ####               2000  Universität Bonn, Abt. IV                    ####
00012 // ####               2001  EMail: dreibh@iem.uni-due.de                 ####
00013 // ####                     WWW:   https://www.uni-due.de/~be0001        ####
00014 // ####                                                                  ####
00015 // ##########################################################################
00016 
00017 
00018 #ifndef SOURCESTATEINFO_H
00019 #define SOURCESTATEINFO_H
00020 
00021 
00022 #include "system.h"
00023 #include "synchronizable.h"
00024 #include "seqnumvalidator.h"
00025 
00026 
00027 namespace Coral {
00028 
00029 
00042 class SourceStateInfo : public SeqNumValidator,
00043                         public Synchronizable
00044 {  
00045    // ====== Constructor ====================================================
00046    public:
00050    SourceStateInfo();
00051 
00052   
00053    // ====== Reset ==========================================================
00057    void reset();
00058 
00059    
00060    // ====== Status functions ===============================================
00066    inline card32 getSSRC() const;
00067 
00073    inline card32 getLSR() const;
00074 
00080    card32 calculateDLSR() const;
00081 
00087    inline void setLSR(const card32 lsr);
00088 
00094    inline void setSSRC(card32 ssrc);
00095    
00096    
00097    // ====== Private data ===================================================
00098    private:
00099    card64 LSRUpdateTimeStamp;             // Timestamp of last setLSR() call
00100 
00101    card32 ReceivedPrior;                  // Packet received at last interval
00102    card32 ExpectedPrior;                  // Packet expected at last interval 
00103    card32 FractionLost;                   // Fraction lost
00104    card32 SSRC;                           // Data source identifier
00105    card32 LSR;                            // Last SR packet from this source
00106 };
00107 
00108 
00109 }
00110 
00111 
00112 #include "sourcestateinfo.icc"
00113 
00114 
00115 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines