You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdemultimedia/mpeglib/lib/mpegplay/mpegSystemStream.h

54 lines
1.1 KiB

/*
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