diff options
Diffstat (limited to 'vdr_stream.h')
-rw-r--r-- | vdr_stream.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/vdr_stream.h b/vdr_stream.h new file mode 100644 index 0000000..68f7ea7 --- /dev/null +++ b/vdr_stream.h @@ -0,0 +1,57 @@ +/*! + * \file vdr_stream.h + * \brief Definitions of media streams + * + * \version $Revision: 1.2 $ + * \date $Date: 2004/05/28 15:29:19 $ + * \author Ralf Klueber, Lars von Wedel, Andreas Kellner + * \author Responsible author: $Author: lvw $ + * + * $Id: vdr_stream.h,v 1.2 2004/05/28 15:29:19 lvw Exp $ + * + * Adapted from + * MP3/MPlayer plugin to VDR (C++) + * (C) 2001-2003 Stefan Huelswitt <huels@iname.com> + */ + +#ifndef ___STREAM_H +#define ___STREAM_H + +#include <string> + +#include "vdr_decoder.h" + +class cNet; + +// ---------------------------------------------------------------- + +class mgStream // : public mgFileInfo +{ +private: + int m_fd; + bool m_ismmap; + + // from cFileInfo + std::string m_filename, m_fsID; + unsigned long long m_filesize; + time_t m_ctime; + long m_fsType; + + bool fileinfo( bool log ); + bool removable(); + +protected: + unsigned char *m_buffer; + unsigned long long m_readpos, m_buffpos; + unsigned long m_fill; +public: + mgStream( std::string filename ); + virtual ~mgStream(); + virtual bool open(bool log = true); + virtual void close(); + virtual bool stream( unsigned char *&data, unsigned long &len, const unsigned char *rest=NULL ); + virtual bool seek( unsigned long long pos = 0 ); + virtual unsigned long long bufferPos() { return m_buffpos; } +}; + +#endif //___STREAM_H |