Merge branch 'bug_615_replace_rawfile' into m2ts_test
authorghost <andreas.monzner@multimedia-labs.de>
Wed, 24 Nov 2010 15:15:02 +0000 (16:15 +0100)
committerghost <andreas.monzner@multimedia-labs.de>
Wed, 24 Nov 2010 15:15:02 +0000 (16:15 +0100)
14 files changed:
lib/base/filepush.cpp
lib/base/filepush.h
lib/base/idatasource.h [deleted file]
lib/base/itssource.h [new file with mode: 0644]
lib/base/rawfile.h
lib/dvb/dvb.cpp
lib/dvb/dvb.h
lib/dvb/idvb.h
lib/dvb/pmt.cpp
lib/dvb/pmt.h
lib/dvb/tstools.cpp
lib/dvb/tstools.h
lib/service/servicedvb.cpp
lib/service/servicedvb.h

index af5a8bb..e3e2a13 100644 (file)
@@ -227,7 +227,7 @@ void eFilePushThread::thread()
 void eFilePushThread::start(int fd, int fd_dest)
 {
        eRawFile *f = new eRawFile();
-       ePtr<iDataSource> source = f;
+       ePtr<iTsSource> source = f;
        f->setfd(fd);
        start(source, fd_dest);
 }
@@ -235,14 +235,14 @@ void eFilePushThread::start(int fd, int fd_dest)
 int eFilePushThread::start(const char *file, int fd_dest)
 {
        eRawFile *f = new eRawFile();
-       ePtr<iDataSource> source = f;
+       ePtr<iTsSource> source = f;
        if (f->open(file) < 0)
                return -1;
        start(source, fd_dest);
        return 0;
 }
 
-void eFilePushThread::start(ePtr<iDataSource> &source, int fd_dest)
+void eFilePushThread::start(ePtr<iTsSource> &source, int fd_dest)
 {
        m_source = source;
        m_fd_dest = fd_dest;
index eb8e792..a4457f6 100644 (file)
@@ -25,7 +25,7 @@ public:
        void start(int sourcefd, int destfd);
        int start(const char *filename, int destfd);
 
-       void start(ePtr<iDataSource> &source, int destfd);
+       void start(ePtr<iTsSource> &source, int destfd);
 
        void pause();
        void resume();
@@ -60,7 +60,7 @@ private:
        int m_blocksize;
        off_t m_current_position;
 
-       ePtr<iDataSource> m_source;
+       ePtr<iTsSource> m_source;
 
        eFixedMessagePump<int> m_messagepump;
 
diff --git a/lib/base/idatasource.h b/lib/base/idatasource.h
deleted file mode 100644 (file)
index 0daa526..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __lib_base_idatasource_h
-#define __lib_base_idatasource_h
-
-#include <lib/base/object.h>
-
-class iDataSource: public iObject
-{
-public:
-        /* NOTE: should only be used to get current position or filelength */
-       virtual off_t lseek(off_t offset, int whence)=0;
-       
-       /* NOTE: you must be able to handle short reads! */
-       virtual ssize_t read(off_t offset, void *buf, size_t count)=0; /* NOTE: this is what you in normal case have to use!! */
-
-       virtual off_t length()=0;
-       virtual int valid()=0;
-};
-
-#endif
diff --git a/lib/base/itssource.h b/lib/base/itssource.h
new file mode 100644 (file)
index 0000000..91167ff
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef __lib_base_idatasource_h
+#define __lib_base_idatasource_h
+
+#include <lib/base/object.h>
+
+class iTsSource: public iObject
+{
+public:
+        /* NOTE: should only be used to get current position or filelength */
+       virtual off_t lseek(off_t offset, int whence)=0;
+       
+       /* NOTE: you must be able to handle short reads! */
+       virtual ssize_t read(off_t offset, void *buf, size_t count)=0; /* NOTE: this is what you in normal case have to use!! */
+
+       virtual off_t length()=0;
+       virtual int valid()=0;
+};
+
+#endif
index 1720d58..7b736a3 100644 (file)
@@ -2,9 +2,9 @@
 #define __lib_base_rawfile_h
 
 #include <string>
-#include <lib/base/idatasource.h>
+#include <lib/base/itssource.h>
 
-class eRawFile: public iDataSource
+class eRawFile: public iTsSource
 {
        DECLARE_REF(eRawFile);
        eSingleLock m_lock;
@@ -15,7 +15,7 @@ public:
        void setfd(int fd);
        int close();
 
-       // iDataSource
+       // iTsSource
        off_t lseek(off_t offset, int whence);
        ssize_t read(off_t offset, void *buf, size_t count);
        off_t length();
index c980ac5..414ab8d 100644 (file)
@@ -1753,7 +1753,7 @@ RESULT eDVBChannel::getCurrentFrontendParameters(ePtr<iDVBFrontendParameters> &p
 RESULT eDVBChannel::playFile(const char *file)
 {
        eRawFile *f = new eRawFile();
-       ePtr<iDataSource> source = f;
+       ePtr<iTsSource> source = f;
 
        if (f->open(file) < 0)
        {
@@ -1764,7 +1764,7 @@ RESULT eDVBChannel::playFile(const char *file)
        return playSource(source, file);
 }
 
-RESULT eDVBChannel::playSource(ePtr<iDataSource> &source, const char *streaminfo_file)
+RESULT eDVBChannel::playSource(ePtr<iTsSource> &source, const char *streaminfo_file)
 {
        ASSERT(!m_frontend);
        if (m_pvr_thread)
@@ -1826,7 +1826,7 @@ void eDVBChannel::stopSource()
        }
        if (m_pvr_fd_dst >= 0)
                ::close(m_pvr_fd_dst);
-       ePtr<iDataSource> d;
+       ePtr<iTsSource> d;
        m_tstools.setSource(d);
 }
 
index 9277160..f612aff 100644 (file)
@@ -260,7 +260,7 @@ public:
        RESULT playFile(const char *file);
        void stopFile();
 
-       RESULT playSource(ePtr<iDataSource>& source, const char *priv=NULL);
+       RESULT playSource(ePtr<iTsSource>& source, const char *priv=NULL);
        void stopSource();
 
        void setCueSheet(eCueSheet *cuesheet);
index 3996b6b..f15cd04 100644 (file)
@@ -15,7 +15,7 @@
 #include <lib/base/object.h>
 #include <lib/base/ebase.h>
 #include <lib/base/elock.h>
-#include <lib/base/idatasource.h>
+#include <lib/base/itssource.h>
 #include <lib/service/service.h>
 #include <libsig_comp.h>
 #include <connection.h>
@@ -607,7 +607,7 @@ public:
        virtual void stopFile() = 0;
        
        /* new interface */
-       virtual RESULT playSource(ePtr<iDataSource> &source, const char *priv=NULL) = 0;
+       virtual RESULT playSource(ePtr<iTsSource> &source, const char *priv=NULL) = 0;
        virtual void stopSource() = 0;
        
        virtual void setCueSheet(eCueSheet *cuesheet) = 0;
index 0d2f85c..e54601c 100644 (file)
@@ -691,11 +691,11 @@ void eDVBServicePMTHandler::SDTScanEvent(int event)
 
 int eDVBServicePMTHandler::tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *cue, bool simulate, eDVBService *service)
 {
-       ePtr<iDataSource> s;
+       ePtr<iTsSource> s;
        return tuneExt(ref, use_decode_demux, s, NULL, cue, simulate, service);
 }
 
-int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr<iDataSource> &source, const char *streaminfo_file, eCueSheet *cue, bool simulate, eDVBService *service)
+int eDVBServicePMTHandler::tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr<iTsSource> &source, const char *streaminfo_file, eCueSheet *cue, bool simulate, eDVBService *service)
 {
        RESULT res=0;
        m_reference = ref;
index 721a8fc..de0de05 100644 (file)
@@ -209,7 +209,7 @@ public:
        int tune(eServiceReferenceDVB &ref, int use_decode_demux, eCueSheet *sg=0, bool simulate=false, eDVBService *service = 0);
 
        /* new interface */
-       int tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr<iDataSource> &, const char *streaminfo_file, eCueSheet *sg=0, bool simulate=false, eDVBService *service = 0);
+       int tuneExt(eServiceReferenceDVB &ref, int use_decode_demux, ePtr<iTsSource> &, const char *streaminfo_file, eCueSheet *sg=0, bool simulate=false, eDVBService *service = 0);
 
        void free();
 private:
index bd36308..cfea3fd 100644 (file)
@@ -35,7 +35,7 @@ eDVBTSTools::~eDVBTSTools()
 int eDVBTSTools::openFile(const char *filename, int nostreaminfo)
 {
        eRawFile *f = new eRawFile();
-       ePtr<iDataSource> src = f;
+       ePtr<iTsSource> src = f;
 
        if (f->open(filename, 1) < 0)
                return -1;
@@ -45,7 +45,7 @@ int eDVBTSTools::openFile(const char *filename, int nostreaminfo)
        return 0;
 }
 
-void eDVBTSTools::setSource(ePtr<iDataSource> &source, const char *stream_info_filename)
+void eDVBTSTools::setSource(ePtr<iTsSource> &source, const char *stream_info_filename)
 {
        closeFile();
 
index 1192cd2..9982792 100644 (file)
@@ -19,7 +19,7 @@ public:
        eDVBTSTools();
        ~eDVBTSTools();
 
-       void setSource(ePtr<iDataSource> &source, const char *streaminfo_filename=NULL);
+       void setSource(ePtr<iTsSource> &source, const char *streaminfo_filename=NULL);
        void closeSource();
 
        int openFile(const char *filename, int nostreaminfo = 0);
@@ -80,7 +80,7 @@ private:
        int m_pid;
        int m_maxrange;
 
-       ePtr<iDataSource> m_source;
+       ePtr<iTsSource> m_source;
 
        int m_begin_valid, m_end_valid;
        pts_t m_pts_begin, m_pts_end;
index 1e58d84..0d617c3 100644 (file)
@@ -1094,7 +1094,7 @@ void eDVBServicePlay::serviceEventTimeshift(int event)
 
                        if (m_skipmode < 0)
                                m_cue->seekTo(0, -1000);
-                       ePtr<iDataSource> source = createDataSource(r);
+                       ePtr<iTsSource> source = createTsSource(r);
                        m_service_handler_timeshift.tuneExt(r, 1, source, r.path.c_str(), m_cue, 0, m_dvb_service); /* use the decoder demux for everything */
 
                        m_event((iPlayableService*)this, evUser+1);
@@ -1124,7 +1124,7 @@ void eDVBServicePlay::serviceEventTimeshift(int event)
                                m_service_handler_timeshift.free();
                                resetTimeshift(1);
 
-                               ePtr<iDataSource> source = createDataSource(r);
+                               ePtr<iTsSource> source = createTsSource(r);
                                m_service_handler_timeshift.tuneExt(r, 1, source, m_timeshift_file_next.c_str(), m_cue, 0, m_dvb_service); /* use the decoder demux for everything */
 
                                m_event((iPlayableService*)this, evUser+1);
@@ -1155,7 +1155,7 @@ RESULT eDVBServicePlay::start()
                m_event(this, evStart);
 
        m_first_program_info = 1;
-       ePtr<iDataSource> source = createDataSource(service);
+       ePtr<iTsSource> source = createTsSource(service);
        m_service_handler.tuneExt(service, m_is_pvr, source, service.path.c_str(), m_cue, false, m_dvb_service);
 
        if (m_is_pvr)
@@ -2360,11 +2360,11 @@ void eDVBServicePlay::resetTimeshift(int start)
                m_timeshift_active = 0;
 }
 
-ePtr<iDataSource> eDVBServicePlay::createDataSource(eServiceReferenceDVB &ref)
+ePtr<iTsSource> eDVBServicePlay::createTsSource(eServiceReferenceDVB &ref)
 {
        eRawFile *f = new eRawFile();
        f->open(ref.path.c_str());
-       return ePtr<iDataSource>(f);
+       return ePtr<iTsSource>(f);
 }
 
 void eDVBServicePlay::switchToTimeshift()
@@ -2379,7 +2379,7 @@ void eDVBServicePlay::switchToTimeshift()
 
        m_cue->seekTo(0, -1000);
 
-       ePtr<iDataSource> source = createDataSource(r);
+       ePtr<iTsSource> source = createTsSource(r);
        m_service_handler_timeshift.tuneExt(r, 1, source, m_timeshift_file.c_str(), m_cue, 0, m_dvb_service); /* use the decoder demux for everything */
 
        eDebug("eDVBServicePlay::switchToTimeshift, in pause mode now.");
index 23675bf..3efc259 100644 (file)
@@ -290,7 +290,7 @@ protected:
        ePtr<eConnection> m_video_event_connection;
        void video_event(struct iTSMPEGDecoder::videoEvent);
 
-       virtual ePtr<iDataSource> createDataSource(eServiceReferenceDVB &ref);
+       virtual ePtr<iTsSource> createTsSource(eServiceReferenceDVB &ref);
 };
 
 class eStaticServiceDVBBouquetInformation: public iStaticServiceInformation