diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-11-15 12:31:52 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-11-15 12:31:52 +0000 |
| commit | 70bc01250696baf1ba7b6f45c519219fbed7cc17 (patch) | |
| tree | 034b5c8882ba0cc970dea325e8eb24cde04cea8b /src/QXmppRtpChannel.cpp | |
| parent | 7c973aa48165198f4b298b6a8670015d2e453bb2 (diff) | |
| download | qxmpp-70bc01250696baf1ba7b6f45c519219fbed7cc17.tar.gz | |
add QXmppRtpChannel::supportedPayloadTypes()
Diffstat (limited to 'src/QXmppRtpChannel.cpp')
| -rw-r--r-- | src/QXmppRtpChannel.cpp | 45 |
1 files changed, 42 insertions, 3 deletions
diff --git a/src/QXmppRtpChannel.cpp b/src/QXmppRtpChannel.cpp index e39d6194..94cebce6 100644 --- a/src/QXmppRtpChannel.cpp +++ b/src/QXmppRtpChannel.cpp @@ -59,6 +59,7 @@ public: quint16 outgoingSequence; quint32 outgoingStamp; + quint32 ssrc; QXmppJinglePayloadType payloadType; }; @@ -73,8 +74,10 @@ QXmppRtpChannelPrivate::QXmppRtpChannelPrivate() incomingStamp(0), outgoingMarker(true), outgoingSequence(0), - outgoingStamp(0) + outgoingStamp(0), + ssrc(0) { + ssrc = qrand(); } /// Creates a new RTP channel. @@ -288,6 +291,43 @@ void QXmppRtpChannel::setPayloadType(const QXmppJinglePayloadType &payloadType) open(QIODevice::ReadWrite | QIODevice::Unbuffered); } +/// Returns the list of supported payload types. +/// + +QList<QXmppJinglePayloadType> QXmppRtpChannel::supportedPayloadTypes() const +{ + QList<QXmppJinglePayloadType> payloads; + QXmppJinglePayloadType payload; + +#ifdef QXMPP_USE_SPEEX + payload.setId(96); + payload.setChannels(1); + payload.setName("SPEEX"); + payload.setClockrate(16000); + payloads << payload; + + payload.setId(97); + payload.setChannels(1); + payload.setName("SPEEX"); + payload.setClockrate(8000); + payloads << payload; +#endif + + payload.setId(QXmppRtpChannel::G711u); + payload.setChannels(1); + payload.setName("PCMU"); + payload.setClockrate(8000); + payloads << payload; + + payload.setId(QXmppRtpChannel::G711a); + payload.setChannels(1); + payload.setName("PCMA"); + payload.setClockrate(8000); + payloads << payload; + + return payloads; +} + qint64 QXmppRtpChannel::writeData(const char * data, qint64 maxSize) { if (!d->codec) @@ -313,8 +353,7 @@ qint64 QXmppRtpChannel::writeData(const char * data, qint64 maxSize) stream << marker_type; stream << ++d->outgoingSequence; stream << d->outgoingStamp; - const quint32 ssrc = 0; - stream << ssrc; + stream << d->ssrc; QByteArray chunk = d->outgoingBuffer.left(d->outgoingChunk); QDataStream input(chunk); |
