00001
00002 #ifndef SRTWRITER_H_
00003 #define SRTWRITER_H_
00004
00005 #include <QStringList>
00006 #include <QImage>
00007 #include <QPoint>
00008 #include <QHash>
00009
00010 #include <QtXml/QDomDocument>
00011 #include <QtXml/QDomElement>
00012
00013 #include "avformatdecoder.h"
00014 #include "mythplayer.h"
00015 #include "teletextextractorreader.h"
00016 #include "format.h"
00017
00018 #include "mythccextractorplayer.h"
00019
00020 class OneSubtitle;
00021
00026 class MTV_PUBLIC SRTWriter
00027 {
00028 public:
00029 SRTWriter(const QString &fileName) :
00030 m_outFile(fileName), m_outStream(&m_outFile), m_srtCounter(0)
00031 {
00032 m_outStream.setCodec("UTF-8");
00033 if (!m_outFile.open(QFile::WriteOnly))
00034 {
00035 LOG(VB_GENERAL, LOG_ERR, QString("Failed to create '%1'")
00036 .arg(fileName));
00037 }
00038 else
00039 {
00040 LOG(VB_GENERAL, LOG_DEBUG, QString("Created '%1'")
00041 .arg(fileName));
00042 }
00043 }
00044 ~SRTWriter(void)
00045 {
00046 m_outFile.close();
00047 }
00048
00049 void AddSubtitle(const OneSubtitle &sub, int number);
00050
00051 bool IsOpen(void) { return m_outFile.isOpen(); }
00052 void Flush(void) { m_outStream.flush(); }
00053
00054 private:
00056 static QString FormatTime(uint64_t time_in_msec);
00058 QFile m_outFile;
00060 QTextStream m_outStream;
00062 int m_srtCounter;
00063 };
00064
00065 #endif