diff options
Diffstat (limited to 'src/base/QXmppCodec_p.h')
| -rw-r--r-- | src/base/QXmppCodec_p.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/base/QXmppCodec_p.h b/src/base/QXmppCodec_p.h index 4cccdb41..70f110c0 100644 --- a/src/base/QXmppCodec_p.h +++ b/src/base/QXmppCodec_p.h @@ -108,6 +108,36 @@ private: }; #endif +#ifdef QXMPP_USE_OPUS +typedef struct OpusEncoder OpusEncoder; +typedef struct OpusDecoder OpusDecoder; + +/// \internal +/// +/// The QXmppOpusCodec class represent a Opus codec. + +class QXMPP_AUTOTEST_EXPORT QXmppOpusCodec : public QXmppCodec +{ +public: + QXmppOpusCodec(int clockrate, int channels); + ~QXmppOpusCodec(); + + qint64 encode(QDataStream &input, QDataStream &output); + qint64 decode(QDataStream &input, QDataStream &output); + +private: + OpusEncoder *encoder; + OpusDecoder *decoder; + int sampleRate; + int nChannels; + QList<float> validFrameSize; + int nSamples; + QByteArray sampleBuffer; + + int readWindow(int bufferSize); +}; +#endif + /// \brief The QXmppVideoDecoder class is the base class for video decoders. /// |
