RTP Trace System  1.0
tracepacket.h
Go to the documentation of this file.
00001 // ##########################################################################
00002 // ####                                                                  ####
00003 // ####                    Master Thesis Implementation                  ####
00004 // ####  Management of Layered Variable Bitrate Multimedia Streams over  ####
00005 // ####                  DiffServ with A Priori Knowledge                ####
00006 // ####                                                                  ####
00007 // #### ================================================================ ####
00008 // ####                                                                  ####
00009 // ####                                                                  ####
00010 // #### Trace Packet                                                     ####
00011 // ####                                                                  ####
00012 // #### Version 1.00  --  February 19, 2001                              ####
00013 // ####                                                                  ####
00014 // #### Copyright (C) 2000/2001 Thomas Dreibholz                         ####
00015 // #### University of Bonn, Department of Computer Science IV            ####
00016 // #### EMail: dreibh@iem.uni-due.de                                     ####
00017 // #### WWW:   https://www.uni-due.de/~be0001/diplom/index.html          ####
00018 // ####                                                                  ####
00019 // ##########################################################################
00020 
00021 
00022 #ifndef TRACEPACKET_H
00023 #define TRACEPACKET_H
00024 
00025 
00026 #include "system.h"
00027 #include "mediainfo.h"
00028 
00029 
00030 namespace Coral {
00031 
00032 
00043 class TracePacket
00044 {
00045    // ====== Constructor ====================================================
00046    public:
00050    TracePacket();
00051 
00052 
00053    // ====== Byte order translation =========================================
00057    void translate();
00058 
00059 
00060    // ====== Status functions ===============================================
00064    void reset();
00065 
00066 
00067    // ====== Constants ======================================================
00071    static const card16 TraceTypeID = 0x8833;
00072 
00076    static const char TraceTypeName[];
00077 
00081    static const card32 TraceFormatID = 0x33140000 | TraceTypeID;
00082 
00083 
00084    // ====== Packet data ====================================================
00085    public:
00089    card32 FormatID;
00090 
00094    card8 Layer;
00095 
00099    card8 Layers;
00100 
00104    card8 ErrorCode;
00105 
00109    card8 Flags;
00110 
00114    enum TraceFlags {
00115       TF_None        = 0,
00116       TF_Information = 1,
00117    };
00118 
00122    card64 Position;
00123 
00127    card64 MaxPosition;
00128 
00132    card32 FrameID;
00133 
00137    card32 Offset;
00138 
00142    char Data[0];
00143 };
00144 
00145 
00146 
00154 struct TracePacketData
00155 {
00159    card64 FrameRate;
00160 
00164    card64 Utilization;
00165 
00169    card64 Bandwidth;
00170 
00174    card64 MinBandwidth;
00175 
00179    card64 MaxBandwidth;
00180 
00184    MediaInfo Information;
00185 
00189    card32 Flags;
00190 
00194    int8 StreamPriority;
00195 
00199    int8 SessionPriority;
00200 };
00201 
00202 
00203 }
00204 
00205 
00206 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines