mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Create a new Instance for each screencast.
This commit is contained in:
parent
9ac510a1ad
commit
909a3cef9b
1 changed files with 10 additions and 0 deletions
|
@ -1077,6 +1077,9 @@ void GroupCall::rejoinPresentation() {
|
||||||
const auto weak = base::make_weak(this);
|
const auto weak = base::make_weak(this);
|
||||||
_screenInstance->emitJoinPayload([=](tgcalls::GroupJoinPayload payload) {
|
_screenInstance->emitJoinPayload([=](tgcalls::GroupJoinPayload payload) {
|
||||||
crl::on_main(weak, [=, payload = std::move(payload)]{
|
crl::on_main(weak, [=, payload = std::move(payload)]{
|
||||||
|
if (!_screenInstance) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
const auto ssrc = payload.audioSsrc;
|
const auto ssrc = payload.audioSsrc;
|
||||||
LOG(("Call Info: Join payload received, joining with ssrc: %1."
|
LOG(("Call Info: Join payload received, joining with ssrc: %1."
|
||||||
).arg(ssrc));
|
).arg(ssrc));
|
||||||
|
@ -1109,6 +1112,7 @@ void GroupCall::rejoinPresentation() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void GroupCall::leavePresentation() {
|
void GroupCall::leavePresentation() {
|
||||||
|
destroyScreencast();
|
||||||
if (!_screenSsrc) {
|
if (!_screenSsrc) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1428,6 +1432,9 @@ void GroupCall::handlePossibleCreateOrJoinResponse(
|
||||||
void GroupCall::handlePossibleCreateOrJoinResponse(
|
void GroupCall::handlePossibleCreateOrJoinResponse(
|
||||||
const MTPDupdateGroupCallConnection &data) {
|
const MTPDupdateGroupCallConnection &data) {
|
||||||
if (data.is_presentation()) {
|
if (data.is_presentation()) {
|
||||||
|
if (!_screenInstance) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
setScreenInstanceMode(InstanceMode::Rtc);
|
setScreenInstanceMode(InstanceMode::Rtc);
|
||||||
data.vparams().match([&](const MTPDdataJSON &data) {
|
data.vparams().match([&](const MTPDdataJSON &data) {
|
||||||
const auto json = data.vdata().v;
|
const auto json = data.vdata().v;
|
||||||
|
@ -1435,6 +1442,9 @@ void GroupCall::handlePossibleCreateOrJoinResponse(
|
||||||
_screenInstance->setJoinResponsePayload(json.toStdString());
|
_screenInstance->setJoinResponsePayload(json.toStdString());
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
if (!_instance) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
setInstanceMode(InstanceMode::Rtc);
|
setInstanceMode(InstanceMode::Rtc);
|
||||||
data.vparams().match([&](const MTPDdataJSON &data) {
|
data.vparams().match([&](const MTPDdataJSON &data) {
|
||||||
const auto json = data.vdata().v;
|
const auto json = data.vdata().v;
|
||||||
|
|
Loading…
Add table
Reference in a new issue