diff options
Diffstat (limited to 'mpeglib/lib/mpegplay/mpegSystemStream.h')
-rw-r--r-- | mpeglib/lib/mpegplay/mpegSystemStream.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/mpeglib/lib/mpegplay/mpegSystemStream.h b/mpeglib/lib/mpegplay/mpegSystemStream.h new file mode 100644 index 00000000..8c5d5ffa --- /dev/null +++ b/mpeglib/lib/mpegplay/mpegSystemStream.h @@ -0,0 +1,53 @@ +/* + reads paket input data + Copyright (C) 1999 Martin Vogt + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation. + + For more information look at the file COPYRIGHT in this package + + */ + +#ifndef __MPEGSYSTEMSTREAM_H +#define __MPEGSYSTEMSTREAM_H + + + +#include "tsSystemStream.h" +#include "psSystemStream.h" +#include "pesSystemStream.h" + + +class MpegSystemStream { + + InputStream* input; + int lHasLength; + unsigned int syncCode; + int lState; + TSSystemStream* tsSystemStream; + PSSystemStream* psSystemStream; + PESSystemStream* pesSystemStream; + + public: + MpegSystemStream(InputStream* input); + ~MpegSystemStream(); + + // returns true if init successful + int firstInitialize(MpegSystemHeader* mpegHeader); + int nextPacket(MpegSystemHeader* mpegHeader); + inline int eof() { return input->eof(); } + void reset(); + + private: + int readSyncCode(); + int getByteDirect(); + int demux_ts_pes_buffer(MpegSystemHeader* mpegHeader); + + int processSystemHeader(MpegSystemHeader* mpegHeader); + + +}; + +#endif |