diff options
Diffstat (limited to 'mpeglib/lib/input/cdromRawAccess.h')
-rw-r--r-- | mpeglib/lib/input/cdromRawAccess.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/mpeglib/lib/input/cdromRawAccess.h b/mpeglib/lib/input/cdromRawAccess.h new file mode 100644 index 00000000..d089a85b --- /dev/null +++ b/mpeglib/lib/input/cdromRawAccess.h @@ -0,0 +1,67 @@ +/* + reads raw input data from cdrom (system dependent) + 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 __CDROMRAWACCESS_H +#define __CDROMRAWACCESS_H + +#include "cdromToc.h" +#include "inputStream.h" + + +/** + Here we have a system wrapper for raw cdrom access. + Currently this is tested on Linux. +*/ + + + + + +class CDRomRawAccess { + + CDRomToc* cdromToc; + char data[2352]; + int dataStart; + int len; + int lData; + + public: + CDRomRawAccess(CDRomToc* cdromToc); + virtual ~CDRomRawAccess(); + + // overload this for new Systems + virtual int readDirect(int minute,int second, int frame); + + // wrapper for readDirect + int read(int minute,int second, int frame); + + char* getBufferStart(); + int getBufferLen(); + + int open(const char* filename); + int eof(); + void close(); + int isOpen(); + + int isData(); + + private: + FILE* cdfile; + int lOpen; + int leof; + int buflen; +}; + +#endif + + |