|
|
// ########################################################################## // #### #### // #### Master Thesis Implementation #### // #### Management of Layered Variable Bitrate Multimedia Streams over #### // #### DiffServ with A Priori Knowledge #### // #### #### // #### ================================================================ #### // #### #### // #### #### // #### Trace Decoder #### // #### #### // #### Version 1.00 -- October 10, 2000 #### // #### #### // #### Copyright (C) 2000 Thomas Dreibholz #### // #### University of Bonn, Department of Computer Science IV #### // #### EMail: Dreibholz@bigfoot.com #### // #### WWW: http://www.bigfoot.com/~dreibholz/diplom/index.html #### // #### #### // ########################################################################## #ifndef TRACEDECODER_H #define TRACEDECODER_H #include "system.h" #include "synchronizable.h" #include "tracedecoderinterface.h" #include "seqnumvalidator.h" #include "rtppacket.h" namespace Coral { /** * This class is a trace decoder. * * @short Trace Decoder * @author Thomas Dreibholz (Dreibholz@bigfoot.com) * @version 1.0 */ class TraceDecoder : public TraceDecoderInterface, public Synchronizable { // ====== Constructor/Destructor ========================================= public: /** * Constructor. */ TraceDecoder(); /** * Destructor. */ ~TraceDecoder(); // ====== DecoderInterface implementation ================================ /** * getTypeID() implementation of DecoderInterface. * * @see DecoderInterface#getTypeID */ const card16 getTypeID() const; /** * getTypeName implementation of DecoderInterface. * * @see DecoderInterface#getTypeName */ const char* getTypeName() const; /** * activate() implementation of DecoderInterface. * * @see DecoderInterface#activate */ void activate(); /** * deactivate() implementation of DecoderInterface. * * @see DecoderInterface#deactivate */ void deactivate(); /** * reset() implementation of DecoderInterface. * * @see DecoderInterface#reset */ void reset(); /** * getMediaInfo() implementation of DecoderInterface. * * @see DecoderInterface#getMediaInfo */ void getMediaInfo(MediaInfo& mediaInfo) const; /** * getErrorCode() implementation of DecoderInterface. * * @see DecoderInterface#getErrorCode */ card8 getErrorCode() const; /** * getPosition() implementation of DecoderInterface. * * @see DecoderInterface#getPosition */ card64 getPosition() const; /** * getMaxPosition() implementation of DecoderInterface. * * @see DecoderInterface#getMaxPosition */ card64 getMaxPosition() const; /** * checkNextPacket() implementation of DecoderInterface. * * @see DecoderInterface#checkNextPacket */ bool checkNextPacket(DecoderPacket* decoderPacket); /** * handleNextPacket() implementation of DecoderInterface. * * @see DecoderInterface#handleNextPacket */ void handleNextPacket(const DecoderPacket* decoderPacket); // ====== TraceDecoderInterface implementation =========================== /** * getFrameRate() implementation of TraceEncoderInterface. * * @see TraceEncoderInterface#getFrameRate */ double getFrameRate() const; /** * getUtilization() implementation of TraceEncoderInterface. * * @see TraceEncoderInterface#getUtilization */ double getUtilization() const; /** * getBandwidth() implementation of TraceEncoderInterface. * * @see TraceEncoderInterface#getBandwidth */ Range<cardinal> getBandwidth() const; /** * getStreamPriority() implementation of TraceEncoderInterface. * * @see TraceEncoderInterface#getStreamPriority */ int8 getStreamPriority() const; /** * getSessionPriority() implementation of TraceEncoderInterface. * * @see TraceEncoderInterface#getSessionPriority */ int8 getSessionPriority() const; // ====== Private data =================================================== private: SeqNumValidator SeqNumber[RTPConstants::RTPMaxQualityLayers]; cardinal FrameID[RTPConstants::RTPMaxQualityLayers]; cardinal FrameSize[RTPConstants::RTPMaxQualityLayers]; card64 Position; card64 MaxPosition; cardinal Bandwidth; cardinal MinBandwidth; cardinal MaxBandwidth; double FrameRate; double Utilization; MediaInfo Media; card8 ErrorCode; int8 StreamPriority; int8 SessionPriority; }; } #endif
Generated by: viper@odin on Mon Oct 16 11:49:26 2000, using kdoc 2.0a36. |