00001 00008 #ifndef __Frame_hpp__ 00009 #define __Frame_hpp__ 00010 00011 #include "global.hpp" 00012 00013 00014 class GOP; 00015 00016 class Frame { 00017 00018 00019 public: 00020 00021 00022 void setType(FrameType t); 00023 00024 FrameType getType(); 00025 00029 void setGOP(GOP * pat); 00030 00034 void setNoInStream(uint noS); 00035 00039 uint getNoInStream(); 00040 00044 void setNoInDisplay(uint noD); 00045 00049 uint getNoInDisplay(); 00050 00054 void setNoInGOP(uint noP); 00055 00059 uint getNoInGOP(); 00060 00061 void setFileOffset(uint offset); 00062 00063 long getFileOffset(); 00064 00068 char* getBuffer(); 00069 00073 bool fillBuffer(char *data, unsigned int size); 00074 00078 bool fillBuffer(); 00079 00083 bool freeBuffer(); 00084 00089 bool inMem(); 00090 00091 bool resizeBuffer(unsigned int size); 00092 00096 uint getByteSize(); 00097 00098 void setByteSize(unsigned int size); 00099 00100 void setPriority(int prio); 00101 00102 int getPriority(); 00103 00104 virtual ~Frame(); 00105 00106 protected: 00107 00108 00116 Frame(long noS, unsigned int noP, long offset, GOP *p, FrameType t = NN_VOP); 00121 Frame(FrameType t = NN_VOP); 00122 QByteArray buffer; 00123 00124 uint noInStream; 00125 uint noInDisp; 00126 uint noInGOP; 00127 uint fileOffset; 00128 uint byteSize; 00129 FrameType type; 00130 00131 int priority; 00132 00133 // the pattern where the frame belongs to 00134 GOP *pattern; 00135 }; 00136 00137 #endif // __Frame_hpp__