24 #ifndef QXMPPRTPCHANNEL_H 
   25 #define QXMPPRTPCHANNEL_H 
   30 #include "QXmppJingleIq.h" 
   31 #include "QXmppLogger.h" 
   35 class QXmppRtpAudioChannelPrivate;
 
   36 class QXmppRtpVideoChannelPrivate;
 
   44     bool decode(
const QByteArray &ba);
 
   45     QByteArray encode() 
const;
 
   46     QString toString() 
const;
 
   66 class QXMPP_EXPORT QXmppRtpChannel
 
   72     virtual void close() = 0;
 
   75     virtual QIODevice::OpenMode openMode() 
const = 0;
 
   77     QList<QXmppJinglePayloadType> localPayloadTypes();
 
   78     void setRemotePayloadTypes(
const QList<QXmppJinglePayloadType> &remotePayloadTypes);
 
   82     virtual void payloadTypesChanged() = 0;
 
   84     QList<QXmppJinglePayloadType> m_incomingPayloadTypes;
 
   85     QList<QXmppJinglePayloadType> m_outgoingPayloadTypes;
 
   86     bool m_outgoingPayloadNumbered;
 
  126     qint64 bytesAvailable() 
const;
 
  128     bool isSequential() 
const;
 
  129     QIODevice::OpenMode openMode() 
const;
 
  132     bool seek(qint64 pos);
 
  136     void sendDatagram(
const QByteArray &ba);
 
  142     void datagramReceived(
const QByteArray &ba);
 
  148     void debug(
const QString &message)
 
  153     void warning(
const QString &message)
 
  158     void logReceived(
const QString &message)
 
  163     void logSent(
const QString &message)
 
  168     void payloadTypesChanged();
 
  169     qint64 readData(
char * data, qint64 maxSize);
 
  170     qint64 writeData(
const char * data, qint64 maxSize);
 
  175     void writeDatagram();
 
  178     friend class QXmppRtpAudioChannelPrivate;
 
  179     QXmppRtpAudioChannelPrivate * d;
 
  211     QXmppVideoFrame(
int bytes, 
const QSize &size, 
int bytesPerLine, PixelFormat format);
 
  213     const uchar *bits() 
const;
 
  214     int bytesPerLine() 
const;
 
  216     bool isValid() 
const;
 
  217     int mappedBytes() 
const;
 
  218     PixelFormat pixelFormat() 
const;
 
  227     PixelFormat m_pixelFormat;
 
  231 class QXMPP_EXPORT QXmppVideoFormat
 
  234     int frameHeight()
 const {
 
  235         return m_frameSize.height();
 
  238     int frameWidth()
 const {
 
  239         return m_frameSize.width();
 
  242     qreal frameRate()
 const {
 
  246     void setFrameRate(qreal frameRate) {
 
  247         m_frameRate = frameRate;
 
  250     QSize frameSize()
 const {
 
  254     void setFrameSize(
const QSize &frameSize) {
 
  255         m_frameSize = frameSize;
 
  259         return m_pixelFormat;
 
  263         m_pixelFormat = pixelFormat;
 
  286     QIODevice::OpenMode openMode() 
const;
 
  289     QXmppVideoFormat decoderFormat() 
const;
 
  290     QList<QXmppVideoFrame> readFrames();
 
  293     QXmppVideoFormat encoderFormat() 
const;
 
  294     void setEncoderFormat(
const QXmppVideoFormat &format);
 
  299     void sendDatagram(
const QByteArray &ba);
 
  302     void datagramReceived(
const QByteArray &ba);
 
  306     void payloadTypesChanged();
 
  310     friend class QXmppRtpVideoChannelPrivate;
 
  311     QXmppRtpVideoChannelPrivate * d;