diff options
author | geronimo <geronimo013@gmx.de> | 2012-08-01 17:29:31 +0200 |
---|---|---|
committer | geronimo <geronimo013@gmx.de> | 2012-08-01 17:29:31 +0200 |
commit | cca6e883c8141c3a67c3c5b232ce0c9b18e7fd59 (patch) | |
tree | 7149351cb466316771ab0ce0bd4ea64b2ba17aa1 /libs/mediaScan/include | |
parent | 76c51473ee29a9103201618c8dbbc11fe9b7149e (diff) | |
download | cmp-cca6e883c8141c3a67c3c5b232ce0c9b18e7fd59.tar.gz cmp-cca6e883c8141c3a67c3c5b232ce0c9b18e7fd59.tar.bz2 |
added mediatypes for interlaced video and selective configuration of deepscan
Diffstat (limited to 'libs/mediaScan/include')
-rw-r--r-- | libs/mediaScan/include/AbstractMedia.h | 12 | ||||
-rw-r--r-- | libs/mediaScan/include/AbstractMultiFileMovie.h | 7 | ||||
-rw-r--r-- | libs/mediaScan/include/Audio.h | 1 | ||||
-rw-r--r-- | libs/mediaScan/include/DVDImage.h | 4 | ||||
-rw-r--r-- | libs/mediaScan/include/LegacyVdrRecording.h | 4 | ||||
-rw-r--r-- | libs/mediaScan/include/MediainfoReader.h | 4 | ||||
-rw-r--r-- | libs/mediaScan/include/Movie.h | 2 | ||||
-rw-r--r-- | libs/mediaScan/include/Picture.h | 3 | ||||
-rw-r--r-- | libs/mediaScan/include/VdrRecording.h | 4 |
9 files changed, 32 insertions, 9 deletions
diff --git a/libs/mediaScan/include/AbstractMedia.h b/libs/mediaScan/include/AbstractMedia.h index 18dd18d..6dbf673 100644 --- a/libs/mediaScan/include/AbstractMedia.h +++ b/libs/mediaScan/include/AbstractMedia.h @@ -26,6 +26,7 @@ #define ABSTRACTMEDIA_H #include <File.h> +#include <MediainfoReader.h> #include <sys/types.h> #include <sys/stat.h> #include <vector> @@ -41,18 +42,24 @@ public: Invalid, Audio, Movie, + IMovie, DVDImage, + IDVDImage, LegacyVdrRecording, + ILegacyVdrRecording, VdrRecording, + IVdrRecording, Picture, Unknown } SupportedMediaType; virtual ~cAbstractMedia(); + virtual void AddMeta(cMediainfoReader::InfoEntry *Entry); SupportedMediaType MediaType(void) const { return mediaType; } const char *MimeType(void) const { return mimeType; } const char *AbsolutePath(void) const; + virtual const char *KeyFile(void) const; ulong LastModified(void) const; const char *LogicalPath(void) const { return logicalPath; } virtual const char *Name(void) const; @@ -65,12 +72,14 @@ public: virtual size_t ReadChunk(char *buf, size_t bufSize); ///< used to hide the differences between single- and multi-file media. virtual void Reset(void); + void Dump(void) const; static const char *MediaType2Text(int Type); protected: cAbstractMedia(const cFile &File, const char *Mime, SupportedMediaType Type); + void SetMediaType(int NewType); void SetMimeType(const char *MimeType); - const cFile &KeyPath(void) { return keyPath; } + const cFile &KeyPath(void) const { return keyPath; } int fd; private: @@ -79,6 +88,7 @@ private: char *uri; char *logicalPath; cFile keyPath; + std::vector<cMediainfoReader::InfoEntry *> meta; }; #endif /* ABSTRACTMEDIA_H */ diff --git a/libs/mediaScan/include/AbstractMultiFileMovie.h b/libs/mediaScan/include/AbstractMultiFileMovie.h index f933b75..41f6c2d 100644 --- a/libs/mediaScan/include/AbstractMultiFileMovie.h +++ b/libs/mediaScan/include/AbstractMultiFileMovie.h @@ -32,8 +32,9 @@ public: virtual ~cAbstractMultiFileMovie(); virtual size_t ReadChunk(char *buf, size_t bufSize); + virtual const char *KeyFile(void) const; virtual const char *Name(void) const { return name; } - virtual const char *FirstFile(void) = 0; + virtual const char *FirstFile(void) const = 0; virtual const char *NextFile(void) = 0; virtual size_t Size(void) const { return size; } @@ -42,10 +43,10 @@ protected: virtual void Reset(void); void SetName(char *Name); void SetSize(size_t Size); - bool checkBuffer(void); + bool checkBuffer(void) const; int movieFiles; int curFileNo; - char *buf; + mutable char *buf; int bufSize; private: diff --git a/libs/mediaScan/include/Audio.h b/libs/mediaScan/include/Audio.h index fb13f49..3dc8faa 100644 --- a/libs/mediaScan/include/Audio.h +++ b/libs/mediaScan/include/Audio.h @@ -33,6 +33,7 @@ public: virtual ~cAudio(); virtual bool NeedsFurtherScan(void) const; + static void EnableDeepScan(bool DoScan); private: static const char *ContentType(const char *Extension); diff --git a/libs/mediaScan/include/DVDImage.h b/libs/mediaScan/include/DVDImage.h index ce48c79..315e5d1 100644 --- a/libs/mediaScan/include/DVDImage.h +++ b/libs/mediaScan/include/DVDImage.h @@ -33,10 +33,12 @@ public: virtual ~cDVDImage(); virtual const char *Name(void) const; - virtual const char *FirstFile(void); + virtual const char *FirstFile(void) const; virtual const char *NextFile(void); virtual void Refresh(void); virtual size_t Size(void) const; + virtual bool NeedsFurtherScan(void) const; + static void EnableDeepScan(bool DoScan); private: int mainMovie; diff --git a/libs/mediaScan/include/LegacyVdrRecording.h b/libs/mediaScan/include/LegacyVdrRecording.h index 1f73acb..0f10394 100644 --- a/libs/mediaScan/include/LegacyVdrRecording.h +++ b/libs/mediaScan/include/LegacyVdrRecording.h @@ -32,9 +32,11 @@ public: cLegacyVdrRecording(const cFile &File); virtual ~cLegacyVdrRecording(); - virtual const char *FirstFile(void); + virtual const char *FirstFile(void) const; virtual const char *NextFile(void); virtual void Refresh(void); + virtual bool NeedsFurtherScan(void) const; + static void EnableDeepScan(bool DoScan); }; #endif /* LEGACYVDRRECORDING_H */ diff --git a/libs/mediaScan/include/MediainfoReader.h b/libs/mediaScan/include/MediainfoReader.h index 5e94785..4a6522f 100644 --- a/libs/mediaScan/include/MediainfoReader.h +++ b/libs/mediaScan/include/MediainfoReader.h @@ -37,14 +37,14 @@ public: cMediainfoReader(cLineReader *LineReader); virtual ~cMediainfoReader(); - void AddValuableKey(const char *Key); void Close(void); bool IsValuable(std::string &key); InfoEntry *ReadEntry(void); + static void Setup(const char *keys[]); private: cLineReader *reader; - std::vector<std::string> valuableKeys; + static std::vector<std::string> valuableKeys; }; #endif /* MEDIAINFOREADER_H */ diff --git a/libs/mediaScan/include/Movie.h b/libs/mediaScan/include/Movie.h index e01903d..36355b3 100644 --- a/libs/mediaScan/include/Movie.h +++ b/libs/mediaScan/include/Movie.h @@ -32,7 +32,9 @@ public: cMovie(const cFile &File, const char *Mime, SupportedMediaType Type = cAbstractMedia::Movie); virtual ~cMovie(); + virtual void AddMeta(cMediainfoReader::InfoEntry *Entry); virtual bool NeedsFurtherScan(void) const; + static void EnableDeepScan(bool DoScan); private: static const char *ContentType(const char *Extension); diff --git a/libs/mediaScan/include/Picture.h b/libs/mediaScan/include/Picture.h index 0ef37bb..ea96313 100644 --- a/libs/mediaScan/include/Picture.h +++ b/libs/mediaScan/include/Picture.h @@ -32,6 +32,9 @@ public: cPicture(const cFile &File, const char *Mime); virtual ~cPicture(); + virtual bool NeedsFurtherScan(void) const; + static void EnableDeepScan(bool DoScan); + private: static const char *ContentType(const char *Extension); static SupportedExtension knownExtensions[]; diff --git a/libs/mediaScan/include/VdrRecording.h b/libs/mediaScan/include/VdrRecording.h index 8e0789b..7c997ad 100644 --- a/libs/mediaScan/include/VdrRecording.h +++ b/libs/mediaScan/include/VdrRecording.h @@ -32,9 +32,11 @@ public: cVdrRecording(const cFile &File); virtual ~cVdrRecording(); - virtual const char *FirstFile(void); + virtual const char *FirstFile(void) const; virtual const char *NextFile(void); virtual void Refresh(void); + virtual bool NeedsFurtherScan(void) const; + static void EnableDeepScan(bool DoScan); }; #endif /* VDRRECORDING_H */ |