diff options
Diffstat (limited to 'libs/mediaScan/include/AbstractMultiFileMovie.h')
-rw-r--r-- | libs/mediaScan/include/AbstractMultiFileMovie.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/libs/mediaScan/include/AbstractMultiFileMovie.h b/libs/mediaScan/include/AbstractMultiFileMovie.h new file mode 100644 index 0000000..6913a74 --- /dev/null +++ b/libs/mediaScan/include/AbstractMultiFileMovie.h @@ -0,0 +1,57 @@ +/** + * ======================== legal notice ====================== + * + * File: AbstractMultiFileMovie.h + * Created: 3. Juli 2012, 07 + * Author: <a href="mailto:geronimo013@gmx.de">Geronimo</a> + * Project: libfsScan: mediatypes and filesystem scanning + * + * CMP - compound media player + * + * is a client/server mediaplayer intended to play any media from any workstation + * without the need to export or mount shares. cmps is an easy to use backend + * with a (ready to use) HTML-interface. Additionally the backend supports + * authentication via HTTP-digest authorization. + * cmpc is a client with vdr-like osd-menues. + * + * Copyright (c) 2012 Reinhard Mantey, some rights reserved! + * published under Creative Commons by-sa + * For details see http://creativecommons.org/licenses/by-sa/3.0/ + * + * The cmp project's homepage is at http://projects.vdr-developer.org/projects/cmp + * + * -------------------------------------------------------------- + */ +#ifndef ABSTRACTMULTIFILEMOVIE_H +#define ABSTRACTMULTIFILEMOVIE_H + +#include <Movie.h> + +class cAbstractMultiFileMovie : public cMovie { +public: + virtual ~cAbstractMultiFileMovie(); + + virtual size_t ReadChunk(char *buf, size_t bufSize); + virtual const char *Name(void) const { return name; } + virtual const char *FirstFile(void) = 0; + virtual const char *NextFile(void) = 0; + virtual size_t Size(void) const { return size; } + +protected: + cAbstractMultiFileMovie(const cFile &File, const char *Mime, SupportedMediaType Type); + virtual void Reset(void); + void SetName(char *Name); + void SetSize(size_t Size); + bool checkBuffer(void); + int movieFiles; + int curFileNo; + char *buf; + int bufSize; + +private: + char *name; ///< name of multifile media may be different from any filesystem name, so handle a copy + size_t size; + }; + +#endif /* ABSTRACTMULTIFILEMOVIE_H */ + |