aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppRtpChannel.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2015-01-07 11:58:40 +0100
committerJeremy Lainé <jeremy.laine@m4x.org>2015-01-07 11:58:40 +0100
commit52432290b3b7a85affc54730ed41df56cc62ee26 (patch)
treeb204318a83f3a298387e8705d5e756254e70a5b3 /src/base/QXmppRtpChannel.cpp
parent2d0ed960c037878d45670b58ea10beac1201f558 (diff)
parentff5969f3709b257a21a2d6e87c3413d35909b5ff (diff)
downloadqxmpp-52432290b3b7a85affc54730ed41df56cc62ee26.tar.gz
Merge pull request #20 from hipersayanX/master
Added Opus codec. Added FEC for Vp8 codec.
Diffstat (limited to 'src/base/QXmppRtpChannel.cpp')
-rw-r--r--src/base/QXmppRtpChannel.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/base/QXmppRtpChannel.cpp b/src/base/QXmppRtpChannel.cpp
index 078150cd..ff478fd4 100644
--- a/src/base/QXmppRtpChannel.cpp
+++ b/src/base/QXmppRtpChannel.cpp
@@ -301,6 +301,10 @@ QXmppCodec *QXmppRtpAudioChannelPrivate::codecForPayloadType(const QXmppJinglePa
else if (payloadType.name().toLower() == "speex")
return new QXmppSpeexCodec(payloadType.clockrate());
#endif
+#ifdef QXMPP_USE_OPUS
+ else if (payloadType.name().toLower() == "opus")
+ return new QXmppOpusCodec(payloadType.clockrate(), payloadType.channels());
+#endif
return 0;
}
@@ -321,6 +325,14 @@ QXmppRtpAudioChannel::QXmppRtpAudioChannel(QObject *parent)
// set supported codecs
QXmppJinglePayloadType payload;
+#ifdef QXMPP_USE_OPUS
+ payload.setId(100); // NOTE: I don't know if this Id is ok for Opus.
+ payload.setChannels(1);
+ payload.setName("opus");
+ payload.setClockrate(8000);
+ m_outgoingPayloadTypes << payload;
+#endif
+
#ifdef QXMPP_USE_SPEEX
payload.setId(96);
payload.setChannels(1);
@@ -878,7 +890,7 @@ QXmppRtpVideoChannel::QXmppRtpVideoChannel(QObject *parent)
encoder->setFormat(d->outgoingFormat);
payload.setId(96);
payload.setName("vp8");
- payload.setClockrate(90000);
+ payload.setClockrate(256000);
payload.setParameters(encoder->parameters());
m_outgoingPayloadTypes << payload;
delete encoder;
@@ -1010,7 +1022,7 @@ void QXmppRtpVideoChannel::payloadTypesChanged()
#endif
#ifdef QXMPP_USE_VPX
else if (payload.name().toLower() == "vp8") {
- encoder = new QXmppVpxEncoder;
+ encoder = new QXmppVpxEncoder(payload.clockrate());
}
#endif
if (encoder) {