2
0
mirror of https://github.com/kotatogram/kotatogram-desktop synced 2025-09-05 00:55:12 +00:00

Update API scheme.

This commit is contained in:
John Preston
2021-06-01 19:13:05 +04:00
parent 3af0c37c6b
commit 70f0cce340
5 changed files with 161 additions and 117 deletions

View File

@@ -40,13 +40,12 @@ constexpr auto kWaitForUpdatesTimeout = 3 * crl::time(1000);
} // namespace
const std::string &GroupCallParticipant::cameraEndpoint() const {
return videoParams ? videoParams->camera.endpoint : EmptyEndpoint();
return GetCameraEndpoint(videoParams);
}
const std::string &GroupCallParticipant::screenEndpoint() const {
return videoParams ? videoParams->screen.endpoint : EmptyEndpoint();
return GetScreenEndpoint(videoParams);
}
GroupCall::GroupCall(
@@ -232,11 +231,9 @@ const GroupCallParticipant *GroupCall::participantByEndpoint(
return nullptr;
}
for (const auto &participant : _participants) {
if (const auto params = participant.videoParams.get()) {
if (params->camera.endpoint == endpoint
|| params->screen.endpoint == endpoint) {
return &participant;
}
if (participant.cameraEndpoint() == endpoint
|| participant.screenEndpoint() == endpoint) {
return &participant;
}
}
return nullptr;
@@ -587,18 +584,20 @@ void GroupCall::applyParticipantsSlice(
&& (!was || was->onlyMinLoaded);
const auto raisedHandRating
= data.vraise_hand_rating().value_or_empty();
const auto localUpdate = (sliceSource
== ApplySliceSource::UpdateConstructed);
const auto existingVideoParams = (i != end(_participants))
? i->videoParams
: nullptr;
auto videoParams = localUpdate
? existingVideoParams
: Calls::ParseVideoParams(
data.vvideo(),
data.vpresentation(),
existingVideoParams);
const auto value = Participant{
.peer = participantPeer,
.videoParams = Calls::ParseVideoParams(
(data.vvideo()
? data.vvideo()->c_dataJSON().vdata().v
: QByteArray()),
(data.vpresentation()
? data.vpresentation()->c_dataJSON().vdata().v
: QByteArray()),
(i != end(_participants)
? i->videoParams
: nullptr)),
.videoParams = std::move(videoParams),
.date = data.vdate().v,
.lastActive = lastActive,
.raisedHandRating = raisedHandRating,