From d2769982da50332c9354344e2e196f581f7d888b Mon Sep 17 00:00:00 2001 From: geronimo Date: Fri, 27 Jul 2012 07:18:23 +0200 Subject: remove yajl dependency, handle connection abort if client closes connection during play --- libs/fsScan/fsScan.layout | 48 ++++++++++++++-------------- libs/fsScan/fsScan.layout.save | 48 ++++++++++++++-------------- libs/fsScan/include/AbstractMedia.h | 1 + libs/fsScan/include/AbstractMultiFileMovie.h | 1 + libs/fsScan/src/AbstractMedia.cc | 8 +++++ libs/fsScan/src/AbstractMultiFileMovie.cc | 6 ++++ 6 files changed, 64 insertions(+), 48 deletions(-) (limited to 'libs/fsScan') diff --git a/libs/fsScan/fsScan.layout b/libs/fsScan/fsScan.layout index 846388e..8fcde57 100644 --- a/libs/fsScan/fsScan.layout +++ b/libs/fsScan/fsScan.layout @@ -1,64 +1,64 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/libs/fsScan/fsScan.layout.save b/libs/fsScan/fsScan.layout.save index 846388e..70e2a8e 100644 --- a/libs/fsScan/fsScan.layout.save +++ b/libs/fsScan/fsScan.layout.save @@ -1,64 +1,64 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/libs/fsScan/include/AbstractMedia.h b/libs/fsScan/include/AbstractMedia.h index 573265b..750ffde 100644 --- a/libs/fsScan/include/AbstractMedia.h +++ b/libs/fsScan/include/AbstractMedia.h @@ -63,6 +63,7 @@ public: ///< determine the real size, number of files, etc. virtual size_t ReadChunk(char *buf, size_t bufSize); ///< used to hide the differences between single- and multi-file media. + virtual void Reset(void); static const char *MediaType2Text(int Type); protected: diff --git a/libs/fsScan/include/AbstractMultiFileMovie.h b/libs/fsScan/include/AbstractMultiFileMovie.h index f05826b..aed75b9 100644 --- a/libs/fsScan/include/AbstractMultiFileMovie.h +++ b/libs/fsScan/include/AbstractMultiFileMovie.h @@ -39,6 +39,7 @@ public: 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); diff --git a/libs/fsScan/src/AbstractMedia.cc b/libs/fsScan/src/AbstractMedia.cc index 1a7c1da..27ad751 100644 --- a/libs/fsScan/src/AbstractMedia.cc +++ b/libs/fsScan/src/AbstractMedia.cc @@ -86,6 +86,14 @@ size_t cAbstractMedia::ReadChunk(char* Buf, size_t bufSize) return rv; } +void cAbstractMedia::Reset(void) +{ + if (fd >= 0) { + close(fd); + fd = -1; + } +} + size_t cAbstractMedia::Size(void) const { return keyPath.Size(); diff --git a/libs/fsScan/src/AbstractMultiFileMovie.cc b/libs/fsScan/src/AbstractMultiFileMovie.cc index a5de060..d20da87 100644 --- a/libs/fsScan/src/AbstractMultiFileMovie.cc +++ b/libs/fsScan/src/AbstractMultiFileMovie.cc @@ -90,6 +90,12 @@ size_t cAbstractMultiFileMovie::ReadChunk(char* Buf, size_t bufSize) return rv; } +void cAbstractMultiFileMovie::Reset() +{ + cMovie::Reset(); + curFileNo = 0; +} + void cAbstractMultiFileMovie::SetName(char* Name) ///< Name must have already been allocated from heap! { -- cgit v1.2.3