Source: rtcpreceiver.h


Annotated List
Files
Globals
Hierarchy
Index
// ##########################################################################
// ####                                                                  ####
// ####                      RTP Audio Server Project                    ####
// ####                    ============================                  ####
// ####                                                                  ####
// #### RTCP Receiver                                                    ####
// ####                                                                  ####
// #### Version 1.00  --  February 23, 2001                              ####
// ####                                                                  ####
// #### Copyright (C) 1999  Thomas Dreibholz                             ####
// ####               2000  Universität Bonn, Abt. IV                    ####
// ####               2001  EMail: Dreibholz@bigfoot.com                 ####
// ####                     WWW:   http://www.bigfoot.com/~dreibholz     ####
// ####                                                                  ####
// ##########################################################################


#ifndef RTCPRECEIVER_H
#define RTCPRECEIVER_H


#include "system.h"
#include "socket.h"
#include "thread.h"
#include "rtcppacket.h"
#include "rtcpabstractserver.h"


namespace Coral {


/**
  * This class implements an RTCP receiver based on Thread.
  *
  * @short   RTCP Receiver
  * @author  Thomas Dreibholz (Dreibholz@bigfoot.com)
  * @version 1.0
  */
class RTCPReceiver : public Thread
{
   // ====== Constructor/Destructor =========================================
   public:
   /**
     * Default constructor.
     * You have to initialize RTCPReceiver by calling init(...) later!
     *
     * @see init
     */
   RTCPReceiver();

   /**
     * Constructor for new RTCPReceiver. The new receiver's thread has to be
     * started by calling start()!
     *
     * @param server RTCPAbstractServer.
     * @param receiverSocket Socket to receive RTCP packets from.
     */
   RTCPReceiver(RTCPAbstractServer* server,   
                Socket*             receiverSocket);

   /**
     * Destructor.
     */
   ~RTCPReceiver();


   // ====== Initialize =====================================================
   /**
     * Initialize new RTCPReceiver. The new receiver's thread has to be
     * started by calling start()!
     *
     * @param server RTCPAbstractServer.
     * @param receiverSocket Socket to receive RTCP packets from.
     */
   void init(RTCPAbstractServer* server,
             Socket*             receiverSocket);


   // ====== Private data ===================================================
   private:
   void  run();


   Socket*             ReceiverSocket;
   RTCPAbstractServer* Server;
   double              AverageRTCPSize; // Average compound RTCP packet size
};


}


#endif

Generated by: viper@odin on Fri Feb 23 12:41:26 2001, using kdoc 2.0a36.