|
|
|
|
@ -27,11 +27,16 @@
@@ -27,11 +27,16 @@
|
|
|
|
|
#include "src/video/corevideosource.h" |
|
|
|
|
#include "src/video/videoframe.h" |
|
|
|
|
#include "util/compatiblerecursivemutex.h" |
|
|
|
|
#include "util/toxcoreerrorparser.h" |
|
|
|
|
|
|
|
|
|
#include <QCoreApplication> |
|
|
|
|
#include <QDebug> |
|
|
|
|
#include <QThread> |
|
|
|
|
#include <QTimer> |
|
|
|
|
#include <QtConcurrent/QtConcurrentRun> |
|
|
|
|
|
|
|
|
|
#include <tox/toxav.h> |
|
|
|
|
|
|
|
|
|
#include <cassert> |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@ -266,7 +271,9 @@ bool CoreAV::answerCall(uint32_t friendNum, bool video)
@@ -266,7 +271,9 @@ bool CoreAV::answerCall(uint32_t friendNum, bool video)
|
|
|
|
|
return true; |
|
|
|
|
} else { |
|
|
|
|
qWarning() << "Failed to answer call with error" << err; |
|
|
|
|
toxav_call_control(toxav.get(), friendNum, TOXAV_CALL_CONTROL_CANCEL, nullptr); |
|
|
|
|
Toxav_Err_Call_Control controlErr; |
|
|
|
|
toxav_call_control(toxav.get(), friendNum, TOXAV_CALL_CONTROL_CANCEL, &controlErr); |
|
|
|
|
PARSE_ERR(controlErr); |
|
|
|
|
calls.erase(it); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
@ -306,8 +313,9 @@ bool CoreAV::cancelCall(uint32_t friendNum)
@@ -306,8 +313,9 @@ bool CoreAV::cancelCall(uint32_t friendNum)
|
|
|
|
|
QMutexLocker coreLocker{&coreLock}; |
|
|
|
|
|
|
|
|
|
qDebug() << QString("Cancelling call with %1").arg(friendNum); |
|
|
|
|
if (!toxav_call_control(toxav.get(), friendNum, TOXAV_CALL_CONTROL_CANCEL, nullptr)) { |
|
|
|
|
qWarning() << QString("Failed to cancel call with %1").arg(friendNum); |
|
|
|
|
Toxav_Err_Call_Control err; |
|
|
|
|
toxav_call_control(toxav.get(), friendNum, TOXAV_CALL_CONTROL_CANCEL, &err); |
|
|
|
|
if (!PARSE_ERR(err)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -735,7 +743,9 @@ void CoreAV::callCallback(ToxAV* toxav, uint32_t friendNum, bool audio, bool vid
@@ -735,7 +743,9 @@ void CoreAV::callCallback(ToxAV* toxav, uint32_t friendNum, bool audio, bool vid
|
|
|
|
|
auto it = self->calls.emplace(friendNum, std::move(call)); |
|
|
|
|
if (it.second == false) { |
|
|
|
|
qWarning() << QString("Rejecting call invite from %1, we're already in that call!").arg(friendNum); |
|
|
|
|
toxav_call_control(toxav, friendNum, TOXAV_CALL_CONTROL_CANCEL, nullptr); |
|
|
|
|
Toxav_Err_Call_Control err; |
|
|
|
|
toxav_call_control(toxav, friendNum, TOXAV_CALL_CONTROL_CANCEL, &err); |
|
|
|
|
PARSE_ERR(err); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
qDebug() << QString("Received call invite from %1").arg(friendNum); |
|
|
|
|
|