RTP Trace System
1.0
|
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 // #### TDTF Media Reader #### 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 TDTFMEDIAREADER_H 00023 #define TDTFMEDIAREADER_H 00024 00025 00026 #include "system.h" 00027 #include "tdtfreader.h" 00028 #include "mediainfo.h" 00029 00030 00031 namespace Coral { 00032 00033 00041 class TDTFMediaReader : public TDTFReader 00042 { 00043 public: 00044 // ====== Constructor ==================================================== 00048 TDTFMediaReader(); 00049 00050 00051 // ====== Open/close media =============================================== 00060 bool open(const char* name, 00061 const bool readWrite = false, 00062 const bool ruRequired = false); 00063 00067 void close(); 00068 00069 00070 // ====== Status functions =============================================== 00076 inline bool ready() const; 00077 00083 void getMediaInfo(MediaInfo& mediaInfo) const; 00084 00090 inline MediaError getErrorCode() const; 00091 00097 inline card64 getPosition() const; 00098 00104 inline card64 getMaxPosition() const; 00105 00111 inline void setPosition(const card64 position); 00112 00118 inline double getFrameRate() const; 00119 00126 inline double setFrameRate(const double frameRate); 00127 00128 00129 // ====== Read next frame trace ========================================== 00137 bool checkInterval(card64& time, bool& newRUList); 00138 00139 00149 cardinal getNextBlock(const cardinal layers, 00150 cardinal* frameIDArray, 00151 cardinal* frameSizeArray); 00152 00153 00154 // ====== Private data =================================================== 00155 private: 00156 const IntervalHeader* Interval; 00157 const ResourceUtilizationHeader* RUHeader; 00158 card64 Position; 00159 card64 MaxPosition; 00160 double FrameRate; 00161 MediaError ErrorCode; 00162 }; 00163 00164 00165 } 00166 00167 00168 #include "tdtfmediareader.icc" 00169 00170 00171 #endif