RTP Trace System  1.0
tdtfmediareader.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 // #### 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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines