29 #include "QXmppGlobal.h"
32 class QXmppVideoFormat;
47 virtual qint64 encode(QDataStream &input, QDataStream &output) = 0;
51 virtual qint64 decode(QDataStream &input, QDataStream &output) = 0;
61 QXmppG711aCodec(
int clockrate);
63 qint64
encode(QDataStream &input, QDataStream &output);
64 qint64
decode(QDataStream &input, QDataStream &output);
77 QXmppG711uCodec(
int clockrate);
79 qint64
encode(QDataStream &input, QDataStream &output);
80 qint64
decode(QDataStream &input, QDataStream &output);
86 #ifdef QXMPP_USE_SPEEX
87 typedef struct SpeexBits SpeexBits;
93 class QXMPP_EXPORT QXmppSpeexCodec :
public QXmppCodec
96 QXmppSpeexCodec(
int clockrate);
99 qint64
encode(QDataStream &input, QDataStream &output);
100 qint64
decode(QDataStream &input, QDataStream &output);
103 SpeexBits *encoder_bits;
105 SpeexBits *decoder_bits;
120 virtual QXmppVideoFormat format()
const = 0;
123 virtual QList<QXmppVideoFrame> handlePacket(
const QXmppRtpPacket &packet) = 0;
126 virtual bool setParameters(
const QMap<QString, QString> ¶meters) = 0;
138 virtual bool setFormat(
const QXmppVideoFormat &format) = 0;
141 virtual QList<QByteArray> handleFrame(
const QXmppVideoFrame &frame) = 0;
144 virtual QMap<QString, QString> parameters()
const = 0;
147 #ifdef QXMPP_USE_THEORA
148 class QXmppTheoraDecoderPrivate;
149 class QXmppTheoraEncoderPrivate;
154 QXmppTheoraDecoder();
155 ~QXmppTheoraDecoder();
157 QXmppVideoFormat
format()
const;
159 bool setParameters(
const QMap<QString, QString> ¶meters);
162 QXmppTheoraDecoderPrivate *d;
168 QXmppTheoraEncoder();
169 ~QXmppTheoraEncoder();
171 bool setFormat(
const QXmppVideoFormat &format);
176 QXmppTheoraEncoderPrivate *d;
181 class QXmppVpxDecoderPrivate;
182 class QXmppVpxEncoderPrivate;
190 QXmppVideoFormat
format()
const;
192 bool setParameters(
const QMap<QString, QString> ¶meters);
195 QXmppVpxDecoderPrivate *d;
204 bool setFormat(
const QXmppVideoFormat &format);
209 QXmppVpxEncoderPrivate *d;