00001 #ifndef _CommDetectorBase_H_ 00002 #define _CommDetectorBase_H_ 00003 00004 #include <iostream> 00005 using namespace std; 00006 00007 #include <QObject> 00008 #include <QMap> 00009 00010 #include "programtypes.h" 00011 00012 #define MAX_BLANK_FRAMES 180 00013 00014 typedef enum commMapValues { 00015 MARK_START = 0, 00016 MARK_END = 1, 00017 MARK_PRESENT = 2, 00018 } CommMapValue; 00019 00020 typedef QMap<uint64_t, CommMapValue> show_map_t; 00021 00027 class CommDetectorBase : public QObject 00028 { 00029 Q_OBJECT 00030 00031 public: 00032 CommDetectorBase(); 00033 00034 virtual bool go() = 0; 00035 void stop(); 00036 void pause(); 00037 void resume(); 00038 00039 virtual void GetCommercialBreakList(frm_dir_map_t &comms) = 0; 00040 virtual void recordingFinished(long long totalFileSize) 00041 { (void)totalFileSize; }; 00042 virtual void requestCommBreakMapUpdate(void) {}; 00043 00044 virtual void PrintFullMap( 00045 ostream &out, const frm_dir_map_t *comm_breaks, bool verbose) const = 0; 00046 00047 signals: 00048 void statusUpdate(const QString& a) ; 00049 void gotNewCommercialBreakList(); 00050 void breathe(); 00051 00052 protected: 00053 ~CommDetectorBase() {} 00054 bool m_bPaused; 00055 bool m_bStop; 00056 00057 }; 00058 00059 #endif 00060 00061 00062 /* vim: set expandtab tabstop=4 shiftwidth=4: */
1.6.3