diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2006-03-03 03:13:13 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2006-03-03 03:13:13 +0000 |
| commit | 8ef240801bf66e543cdea9df3b32fc09cebcc7e5 (patch) | |
| tree | 5518ec66c8b24014faa47659591f0d47f8816155 /lib/base/rawfile.h | |
| parent | 13e74ce7d8fcccc12bed3ce65c4f35987f206799 (diff) | |
| download | enigma2-8ef240801bf66e543cdea9df3b32fc09cebcc7e5.tar.gz enigma2-8ef240801bf66e543cdea9df3b32fc09cebcc7e5.zip | |
enable playback of multifile (split) movies
Diffstat (limited to 'lib/base/rawfile.h')
| -rw-r--r-- | lib/base/rawfile.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/base/rawfile.h b/lib/base/rawfile.h new file mode 100644 index 00000000..5d15e85d --- /dev/null +++ b/lib/base/rawfile.h @@ -0,0 +1,30 @@ +#ifndef __lib_base_rawfile_h +#define __lib_base_rawfile_h + +#include <string> + +class eRawFile +{ +public: + eRawFile(); + ~eRawFile(); + + int open(const char *filename); + void setfd(int fd); + off_t lseek(off_t offset, int whence); + int close(); + ssize_t read(void *buf, size_t count); /* NOTE: you must be able to handle short reads! */ + off_t length(); + int valid(); +private: + int m_fd; + std::string m_basename; + off_t m_splitsize, m_totallength, m_current_offset, m_base_offset; + int m_nrfiles; + void scan(); + int m_current_file; + int switchOffset(off_t off); + int openFile(int nr); +}; + +#endif |
