/* * File: extratorSRT.h * Author: leonardo * * Created on 17 de Fevereiro de 2012, 17:51 */ #ifndef EXTRATORSRT_H #define EXTRATORSRT_H #include "listenerSRT.h" #include "reader_srt.h" #include "subtitle.h" #include "listenerMonitorPCRBase.h" #include "jthread.h" #include "dprintf.h" #include "logger.h" #include #include "extratorSRT_exception.h" using namespace jthread; using namespace std; using namespace sndesc; class ExtratorSRT: public Thread, public ListenerMonitorPCRBase { public: ExtratorSRT(); ~ExtratorSRT(); void addListener(ListenerSRT* listener); void notifyListeners(unsigned char* subtitle, int64_t pts); void notifyEndExtraction(int sub_size); void setFilePath(char* path); bool isFinished(); void initialize(); void Run(); void notifyPCRBase(uint64_t pcrbase); private: list *listeners; char* filepath; bool finish; uint64_t pcr_base; bool hasPCRBase; ReaderSRT * reader; Subtitle * subtitle; uint64_t calcula_pts(double msec); }; #endif /* EXTRATORSRT_H */