summaryrefslogtreecommitdiff
path: root/libs/mediaScan/include
diff options
context:
space:
mode:
authorgeronimo <geronimo013@gmx.de>2012-08-01 17:29:31 +0200
committergeronimo <geronimo013@gmx.de>2012-08-01 17:29:31 +0200
commitcca6e883c8141c3a67c3c5b232ce0c9b18e7fd59 (patch)
tree7149351cb466316771ab0ce0bd4ea64b2ba17aa1 /libs/mediaScan/include
parent76c51473ee29a9103201618c8dbbc11fe9b7149e (diff)
downloadcmp-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.h12
-rw-r--r--libs/mediaScan/include/AbstractMultiFileMovie.h7
-rw-r--r--libs/mediaScan/include/Audio.h1
-rw-r--r--libs/mediaScan/include/DVDImage.h4
-rw-r--r--libs/mediaScan/include/LegacyVdrRecording.h4
-rw-r--r--libs/mediaScan/include/MediainfoReader.h4
-rw-r--r--libs/mediaScan/include/Movie.h2
-rw-r--r--libs/mediaScan/include/Picture.h3
-rw-r--r--libs/mediaScan/include/VdrRecording.h4
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 */