void TestJingle::testPayloadType() { const QByteArray xml("<payload-type id=\"103\" name=\"L16\" channels=\"2\" clockrate=\"16000\"/>"); QXmppJinglePayloadType payload; parsePacket(payload, xml); QCOMPARE(payload.id(), static_cast<unsigned char>(103)); QCOMPARE(payload.name(), QLatin1String("L16")); QCOMPARE(payload.channels(), static_cast<unsigned char>(2)); QCOMPARE(payload.clockrate(), 16000u); serializePacket(payload, xml); }
void tst_QXmppJingleIq::testVideoPayloadType() { const QByteArray xml( "<payload-type id=\"98\" name=\"theora\" clockrate=\"90000\">" "<parameter name=\"height\" value=\"768\"/>" "<parameter name=\"width\" value=\"1024\"/>" "</payload-type>"); QXmppJinglePayloadType payload; parsePacket(payload, xml); QCOMPARE(payload.id(), static_cast<unsigned char>(98)); QCOMPARE(payload.name(), QLatin1String("theora")); QCOMPARE(payload.clockrate(), 90000u); QCOMPARE(payload.parameters().size(), 2); QCOMPARE(payload.parameters().value("height"), QLatin1String("768")); QCOMPARE(payload.parameters().value("width"), QLatin1String("1024")); serializePacket(payload, xml); }
void QXmppRtpChannel::setRemotePayloadTypes(const QList<QXmppJinglePayloadType> &remotePayloadTypes) { QList<QXmppJinglePayloadType> commonOutgoingTypes; QList<QXmppJinglePayloadType> commonIncomingTypes; Q_FOREACH (const QXmppJinglePayloadType &incomingType, remotePayloadTypes) { // check we support this payload type int outgoingIndex = m_outgoingPayloadTypes.indexOf(incomingType); if (outgoingIndex < 0) continue; QXmppJinglePayloadType outgoingType = m_outgoingPayloadTypes[outgoingIndex]; // be kind and try to adopt the other agent's numbering if (!m_outgoingPayloadNumbered && outgoingType.id() > 95) { outgoingType.setId(incomingType.id()); } commonIncomingTypes << incomingType; commonOutgoingTypes << outgoingType; }