Source: audioclientapppacket.h


Annotated List
Files
Globals
Hierarchy
Index
// ##########################################################################
// ####                                                                  ####
// ####                      RTP Audio Server Project                    ####
// ####                    ============================                  ####
// ####                                                                  ####
// #### Audio Client App Packet                                          ####
// ####                                                                  ####
// #### 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 AUDIOCLIENTAPP_H
#define AUDIOCLIENTAPP_H


// #include <linux/ip.h>


namespace Coral {


// ###### IPv6 Traffic Class Settings #######################################
/**
  * Default traffic class/TOS for RTP data connection from server to client.
  */
const card8 AudioServerDefaultTrafficClass = 0x00;
   // IPTOS_THROUGHPUT|IPTOS_RELIABILITY|IPTOS_LOWDELAY|IPTOS_PREC_FLASH;

/**
  * Default traffic class/TOS for RTCP control connection from client to server.
  */
const card8 AudioClientDefaultTrafficClass = 0x00;
   // IPTOS_RELIABILITY|IPTOS_PREC_PRIORITY;


/**
  * This class defines the packet format for the audio client's
  * RTCP APP-PRIV messages.
  *
  * @short   Audio Client RTCP-SDES-APP-PRIV Packet
  * @author  Thomas Dreibholz (Dreibholz@bigfoot.com)
  * @version 1.0
  *
  * @see AudioClient
  * @see AudioServer 
  */            
class AudioClientAppPacket
{
   // ====== Constructor ====================================================
   public:
   /**
     * Constructor.
     */
   AudioClientAppPacket();

   // ====== Byte order translation =========================================
   /**
     * Translate byte order.
     */
   void translate();


   // ====== Status functions ===============================================
   /**
     * Reset report.
     */
   void reset();

 
   // ====== Constants ======================================================
   /**
     * Packet ID for AudioClient RTCP APP message.
     */
   static const card32 AudioClientFormatID = 0x75003388;

   /**
     * Definition of AudioClient commands in APP message.
     */
   enum AudioClientAppMode {
      ACAS_UnknownCommand = 0,
      ACAS_Play           = 1,
      ACAS_Pause          = 2
   };

   /**
     * RTP Audio Server default port.
     */
   static const cardinal RTPAudioDefaultPort = 7500;


   // ====== Packet data ====================================================
   public:
   /**
     * Packet ID.
     */
   card32 FormatID;

   /**
     * Sequence number.
     */
   card16 SequenceNumber;

   /**
     * Sequence number for position changes.
     */
   card16 PosChgSeqNumber;


   /**
     * Client status.
     */
   card16 Status;

   /**
     * Audio sampling rate.
     */
   card16 SamplingRate;

   /**
     * Number of audio channels.
     */  
   card8 Channels;

   /**
     * Number of audio bits.
     */
   card8 Bits;

   /**
     * Encoding.
     */
   card16 Encoding;

   /**
     * Suggested bandwidth or 0xffffffff, if unused.
     */
   card32 BandwidthLimit;

   /**
     * Start position in nanoseconds or 0xffff...ff, if unused.
     */   
   card64 StartPosition;

   /**
     * Position to start from if server has been restarted.
     */
   card64 RestartPosition;

   /**
     * Media name, e.g. "AudioFiles/Test1.list".
     */
   char MediaName[128];
};


}


#endif

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