aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppCallManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/QXmppCallManager.cpp')
-rw-r--r--src/QXmppCallManager.cpp16
1 files changed, 4 insertions, 12 deletions
diff --git a/src/QXmppCallManager.cpp b/src/QXmppCallManager.cpp
index 399c7dcb..f0288847 100644
--- a/src/QXmppCallManager.cpp
+++ b/src/QXmppCallManager.cpp
@@ -58,7 +58,6 @@ public:
// RTP
QXmppRtpChannel *audioChannel;
- QList<QXmppJinglePayloadType> commonPayloadTypes;
private:
QXmppCall *q;
@@ -351,7 +350,7 @@ QXmppCall *QXmppCallManager::call(const QString &jid)
// description
iq.content().setDescriptionMedia("audio");
- foreach (const QXmppJinglePayloadType &payload, call->d->audioChannel->supportedPayloadTypes())
+ foreach (const QXmppJinglePayloadType &payload, call->d->audioChannel->localPayloadTypes())
iq.content().addPayloadType(payload);
// transport
@@ -410,7 +409,7 @@ void QXmppCallManager::callStateChanged(QXmppCall::State state)
// description
iq.content().setDescriptionMedia("audio");
- foreach (const QXmppJinglePayloadType &payload, call->d->commonPayloadTypes)
+ foreach (const QXmppJinglePayloadType &payload, call->d->audioChannel->localPayloadTypes())
iq.content().addPayloadType(payload);
// transport
@@ -431,14 +430,8 @@ void QXmppCallManager::callStateChanged(QXmppCall::State state)
bool QXmppCallManagerPrivate::checkPayloadTypes(QXmppCall *call, const QList<QXmppJinglePayloadType> &remotePayloadTypes)
{
- foreach (const QXmppJinglePayloadType &payload, call->d->audioChannel->supportedPayloadTypes())
- {
- int payloadIndex = remotePayloadTypes.indexOf(payload);
- if (payloadIndex >= 0)
- call->d->commonPayloadTypes << remotePayloadTypes[payloadIndex];
- }
- if (call->d->commonPayloadTypes.isEmpty())
- {
+ call->d->audioChannel->setRemotePayloadTypes(remotePayloadTypes);
+ if (!call->d->audioChannel->isOpen()) {
q->warning(QString("Remote party %1 did not provide any known payload types for call %2").arg(call->jid(), call->sid()));
// terminate call
@@ -451,7 +444,6 @@ bool QXmppCallManagerPrivate::checkPayloadTypes(QXmppCall *call, const QList<QXm
sendRequest(call, iq);
return false;
} else {
- call->d->audioChannel->setPayloadType(call->d->commonPayloadTypes.first());
call->updateOpenMode();
return true;
}