43 void operator = (
const Page & rhs);
44 bool read(std::string & newData);
45 bool read(FILE * inFile);
46 bool getSegment(
unsigned int index, std::string & ret);
47 const char * getSegment(
unsigned int index);
48 unsigned long getSegmentLen(
unsigned int index);
49 void setMagicNumber();
51 void setVersion(
char newVal = 0);
53 void setHeaderType(
char newVal);
54 long long unsigned int getGranulePosition();
55 void setGranulePosition(
long long unsigned int newVal);
56 long unsigned int getBitstreamSerialNumber();
57 void setBitstreamSerialNumber(
long unsigned int newVal);
58 long unsigned int getCRCChecksum();
59 void setCRCChecksum(
long unsigned int newVal);
60 long unsigned int getPageSequenceNumber();
61 void setPageSequenceNumber(
long unsigned int newVal);
62 char getPageSegments();
63 inline void setPageSegments(
char newVal);
65 const std::deque<std::string> & getAllSegments();
67 bool possiblyContinued();
69 std::string toPrettyString(
size_t indent = 0);
71 long unsigned int calcChecksum();
72 bool verifyChecksum();
73 unsigned int calcPayloadSize();
75 void clear(
char HeaderType,
long long unsigned int GranPos,
long unsigned int BSN,
long unsigned int PSN);
76 void prepareNext(
bool continueMe =
false);
77 bool setPayload(
char * newData,
unsigned int length);
78 unsigned int addSegment(
const std::string & content);
79 unsigned int addSegment(
const char * content,
unsigned int length);
81 unsigned int setNextSegmentTableEntry(
unsigned int entrySize);
82 unsigned int overFlow();
84 long long unsigned int calculateGranule(
oggSegment & currentSegment);
87 long long unsigned int totalFrames;
90 std::deque<oggSegment> oggSegments;
91 unsigned int pageSequenceNumber;
93 unsigned int framesSeen;
94 unsigned int lastKeyFrame;
95 unsigned int firstSample;
96 unsigned int sampleRate;
99 std::deque<vorbis::mode> vorbisModes;
103 std::deque<std::string> segments;
110 oggTrack() : KFGShift(0), lastTime(0), parsedHeaders(false), lastPageOffset(0), nxtSegment(0){ }
113 std::string contBuffer;
114 long long unsigned int dtscID;
117 long long unsigned int lastGran;
119 long long unsigned int lastPageOffset;
120 unsigned int nxtSegment;
127 std::deque<vorbis::mode> vModes;
129 long long unsigned int blockSize[2];
135 std::map <long long unsigned int, unsigned int> DTSCID2OGGSerial;
136 std::map <long long unsigned int, unsigned int> DTSCID2seqNum;
137 std::string parsedPages;
long long unsigned int timeStamp
Definition: ogg.h:22
oggCodec
Definition: ogg.h:25
HeaderType
Definition: ogg.h:27
long long unsigned int lastKeyFrameSeen
Definition: ogg.h:19
oggTrack()
Definition: ogg.h:110
std::deque< unsigned int > decodeXiphSize(char *data, size_t len)
Definition: ogg.cpp:19
oggSegment()
Definition: ogg.cpp:12
std::string dataString
Definition: ogg.h:17
long long unsigned int framesSinceKeyFrame
Definition: ogg.h:20
unsigned int frameNumber
Definition: ogg.h:21
This class is for easy communicating through sockets, either TCP or Unix.
Definition: socket.h:47
Canvas prototype clear
Definition: jquery.flot.min.js:1
int isKeyframe
Definition: ogg.h:18