22 #ifndef QTAV_SUBTITLEPROCESSOR_H 23 #define QTAV_SUBTITLEPROCESSOR_H 25 #include <QtCore/QList> 26 #include <QtGui/QImage> 38 virtual SubtitleProcessorId id()
const = 0;
39 virtual QString name()
const = 0;
45 virtual QStringList supportedTypes()
const = 0;
52 virtual bool process(QIODevice* dev) = 0;
59 virtual bool process(
const QString& path);
65 virtual QList<SubtitleFrame> frames()
const = 0;
68 virtual bool processHeader(
const QByteArray& codec,
const QByteArray& data) {
74 virtual SubtitleFrame processLine(
const QByteArray& data, qreal pts = -1, qreal duration = 0) = 0;
75 virtual QString getText(qreal pts)
const = 0;
77 virtual QImage getImage(qreal pts, QRect* boundingRect = 0);
78 virtual SubImageSet getSubImages(qreal pts, QRect* boundingRect = 0);
79 void setFrameSize(
int width,
int height);
80 QSize frameSize()
const;
81 int frameWidth()
const;
82 int frameHeight()
const;
85 virtual void setFontFile(
const QString& file) {Q_UNUSED(file);}
89 static void registerAll();
90 template<
class C>
static bool Register(SubtitleProcessorId
id,
const char* name) {
return Register(
id, create<C>, name);}
98 static SubtitleProcessorId* next(SubtitleProcessorId*
id = 0);
99 static const char* name(SubtitleProcessorId
id);
100 static SubtitleProcessorId id(
const char* name);
104 static bool Register(SubtitleProcessorId
id, SubtitleProcessorCreator,
const char *name);
107 virtual void onFrameSizeChanged(
int width,
int height);
109 int m_width, m_height;
113 #endif // QTAV_SUBTITLEPROCESSOR_H Definition: Subtitle.h:32
static bool Register(SubtitleProcessorId id, const char *name)
Definition: SubtitleProcessor.h:90
Definition: SubtitleProcessor.h:33
virtual void setFontFileForced(bool force)
Definition: SubtitleProcessor.h:87
#define Q_AV_PRIVATE_EXPORT
Definition: QtAV_Global.h:43
virtual ~SubtitleProcessor()
Definition: SubtitleProcessor.h:37
virtual bool canRender() const
Definition: SubtitleProcessor.h:66
QString SubtitleProcessorId
Definition: SubtitleProcessor.h:32
virtual bool processHeader(const QByteArray &codec, const QByteArray &data)
Definition: SubtitleProcessor.h:68
Definition: SubImage.h:45
virtual void setFontsDir(const QString &dir)
Definition: SubtitleProcessor.h:86
AudioOutput ao; ao.setAudioFormat(fmt); ao.open(); while (has_data) { data = read_data(ao->bufferSize...
Definition: AudioDecoder.h:31
virtual void setFontFile(const QString &file)
Definition: SubtitleProcessor.h:85