00001 #include <qstringlist.h>
00002 #include <qsqldatabase.h>
00003 #include <qmap.h>
00004
00005 #include "NuppelVideoRecorder.h"
00006 #include "NuppelVideoPlayer.h"
00007 #include "recordingprofile.h"
00008 #include "fifowriter.h"
00009 #include "programinfo.h"
00010 #include "mythdbcon.h"
00011 #include "transcodedefs.h"
00012
00013 class Transcode : public QObject
00014 {
00015 public:
00016 Transcode(ProgramInfo *pginfo);
00017 ~Transcode();
00018 int TranscodeFile(char *inputname, char *outputname, QString profileName,
00019 bool honorCutList, bool framecontrol, int jobID,
00020 QString fifodir, QMap<long long, int> deleteMap);
00021 void ShowProgress(bool val) { showprogress = val; }
00022 private:
00023 bool GetProfile(QString profileName, QString encodingType, int height,
00024 int frameRate);
00025 void ReencoderAddKFA(long curframe, long lastkey, long num_keyframes);
00026 ProgramInfo *m_proginfo;
00027 RecordingProfile profile;
00028 int keyframedist;
00029 NuppelVideoRecorder *nvr;
00030 NuppelVideoPlayer *nvp;
00031 RingBuffer *inRingBuffer;
00032 RingBuffer *outRingBuffer;
00033 FIFOWriter::FIFOWriter *fifow;
00034 QPtrList<struct kfatable_entry> *kfa_table;
00035 bool showprogress;
00036 };
00037
00038