diff --git a/src/CallManager.cpp b/src/CallManager.cpp
index 7a8d2ca7..b1d1a75a 100644
--- a/src/CallManager.cpp
+++ b/src/CallManager.cpp
@@ -52,7 +52,7 @@ CallManager::CallManager(QSharedPointer<UserSettings> userSettings)
emit newMessage(roomid_, CallInvite{callid_, sdp, 0, timeoutms_});
emit newMessage(roomid_, CallCandidates{callid_, candidates, 0});
QTimer::singleShot(timeoutms_, this, [this]() {
- if (session_.state() == WebRTCSession::State::OFFERSENT) {
+ if (session_.state() == webrtc::State::OFFERSENT) {
hangUp(CallHangUp::Reason::InviteTimeOut);
emit ChatPage::instance()->showNotification(
"The remote side failed to pick up.");
@@ -99,13 +99,13 @@ CallManager::CallManager(QSharedPointer<UserSettings> userSettings)
turnServerTimer_.setInterval(ttl * 1000 * 0.9);
});
- connect(&session_, &WebRTCSession::stateChanged, this, [this](WebRTCSession::State state) {
+ connect(&session_, &WebRTCSession::stateChanged, this, [this](webrtc::State state) {
switch (state) {
- case WebRTCSession::State::DISCONNECTED:
+ case webrtc::State::DISCONNECTED:
playRingtone("qrc:/media/media/callend.ogg", false);
clear();
break;
- case WebRTCSession::State::ICEFAILED: {
+ case webrtc::State::ICEFAILED: {
QString error("Call connection failed.");
if (turnURIs_.empty())
error += " Your homeserver has no configured TURN server.";
@@ -155,10 +155,9 @@ CallManager::sendInvite(const QString &roomid)
std::vector<RoomMember> members(cache::getMembers(roomid.toStdString()));
const RoomMember &callee =
members.front().user_id == utils::localUser() ? members.back() : members.front();
- emit newCallParty(callee.user_id,
- callee.display_name,
- QString::fromStdString(roomInfo.name),
- QString::fromStdString(roomInfo.avatar_url));
+ callPartyName_ = callee.display_name.isEmpty() ? callee.user_id : callee.display_name;
+ callPartyAvatarUrl_ = QString::fromStdString(roomInfo.avatar_url);
+ emit newCallParty();
playRingtone("qrc:/media/media/ringback.ogg", true);
if (!session_.createOffer()) {
emit ChatPage::instance()->showNotification("Problem setting up call.");
@@ -193,9 +192,9 @@ CallManager::hangUp(CallHangUp::Reason reason)
}
bool
-CallManager::onActiveCall()
+CallManager::onActiveCall() const
{
- return session_.state() != WebRTCSession::State::DISCONNECTED;
+ return session_.state() != webrtc::State::DISCONNECTED;
}
void
@@ -259,11 +258,9 @@ CallManager::handleEvent(const RoomEvent<CallInvite> &callInviteEvent)
std::vector<RoomMember> members(cache::getMembers(callInviteEvent.room_id));
const RoomMember &caller =
members.front().user_id == utils::localUser() ? members.back() : members.front();
- emit newCallParty(caller.user_id,
- caller.display_name,
- QString::fromStdString(roomInfo.name),
- QString::fromStdString(roomInfo.avatar_url));
-
+ callPartyName_ = caller.display_name.isEmpty() ? caller.user_id : caller.display_name;
+ callPartyAvatarUrl_ = QString::fromStdString(roomInfo.avatar_url);
+ emit newCallParty();
auto dialog = new dialogs::AcceptCall(caller.user_id,
caller.display_name,
QString::fromStdString(roomInfo.name),
@@ -376,6 +373,8 @@ void
CallManager::clear()
{
roomid_.clear();
+ callPartyName_.clear();
+ callPartyAvatarUrl_.clear();
callid_.clear();
remoteICECandidates_.clear();
}
|