Update tgcalls for better stream->rtc upgrade.

This commit is contained in:
John Preston 2021-03-09 18:49:09 +04:00
parent 81e08599dc
commit 18901a4dc7
3 changed files with 12 additions and 6 deletions

View file

@ -914,8 +914,8 @@ void GroupCall::ensureControllerCreated() {
tgcalls::GroupInstanceDescriptor descriptor = {
.config = tgcalls::GroupConfig{
},
.networkStateUpdated = [=](bool connected) {
crl::on_main(weak, [=] { setInstanceConnected(connected); });
.networkStateUpdated = [=](tgcalls::GroupNetworkState networkState) {
crl::on_main(weak, [=] { setInstanceConnected(networkState); });
},
.audioLevelsUpdated = [=](const tgcalls::GroupLevelsUpdate &data) {
const auto &updates = data.updates;
@ -1213,13 +1213,18 @@ void GroupCall::checkJoined() {
}).send();
}
void GroupCall::setInstanceConnected(bool connected) {
void GroupCall::setInstanceConnected(
tgcalls::GroupNetworkState networkState) {
const auto connected = networkState.isConnected;
if (_instanceConnected == connected) {
return;
}
_instanceConnected = connected;
if (state() == State::Connecting && connected) {
setState(State::Joined);
if (networkState.isTransitioningFromBroadcastToRtc) {
// #TODO calls play sound?..
}
} else if (state() == State::Joined && !connected) {
setState(State::Connecting);
}
@ -1238,7 +1243,7 @@ void GroupCall::setInstanceMode(InstanceMode mode) {
case InstanceMode::Stream: return Mode::GroupConnectionModeBroadcast;
}
Unexpected("Mode in GroupCall::setInstanceMode.");
}());
}(), true);
}
void GroupCall::maybeSendMutedUpdate(MuteState previous) {

View file

@ -18,6 +18,7 @@ class History;
namespace tgcalls {
class GroupInstanceCustomImpl;
struct GroupLevelsUpdate;
struct GroupNetworkState;
struct GroupParticipantDescription;
} // namespace tgcalls
@ -222,7 +223,7 @@ private:
void rejoin();
void audioLevelsUpdated(const tgcalls::GroupLevelsUpdate &data);
void setInstanceConnected(bool connected);
void setInstanceConnected(tgcalls::GroupNetworkState networkState);
void setInstanceMode(InstanceMode mode);
void checkLastSpoke();
void pushToTalkCancel();

@ -1 +1 @@
Subproject commit c3c3473f0f0373ff417675c8825a3b091649e563
Subproject commit d19c74b1474e4aab01d797373f1d62e4da5f87a5