fix: tweak some stuff in group calls code for group calls onboarding feat

This commit is contained in:
td 2023-01-20 03:46:20 +05:30
parent 660d604565
commit 9e649b7d37
No known key found for this signature in database
GPG Key ID: F6D9E9BF14C7D103
3 changed files with 18 additions and 21 deletions

View File

@ -951,17 +951,13 @@ class CallSession {
if (localUserMediaStream != null)
localUserMediaStream!.stream!.id: SDPStreamPurpose(
purpose: SDPStreamMetadataPurpose.Usermedia,
audio_muted:
localUserMediaStream!.stream!.getAudioTracks().isEmpty,
video_muted:
localUserMediaStream!.stream!.getVideoTracks().isEmpty),
audio_muted: localUserMediaStream!.audioMuted,
video_muted: localUserMediaStream!.videoMuted),
if (localScreenSharingStream != null)
localScreenSharingStream!.stream!.id: SDPStreamPurpose(
purpose: SDPStreamMetadataPurpose.Screenshare,
audio_muted:
localScreenSharingStream!.stream!.getAudioTracks().isEmpty,
video_muted:
localScreenSharingStream!.stream!.getVideoTracks().isEmpty),
audio_muted: localScreenSharingStream!.audioMuted,
video_muted: localScreenSharingStream!.videoMuted),
});
await pc!.setLocalDescription(answer);

View File

@ -468,10 +468,6 @@ class GroupCall {
localDesktopCapturerSourceId = null;
}
if (state != GroupCallState.Entered) {
return;
}
_removeParticipant(client.userID!);
removeMemberStateEvent();

View File

@ -604,28 +604,33 @@ class VoIP {
Future<GroupCall?> fetchOrCreateGroupCall(String roomId) async {
final groupCall = getGroupCallForRoom(roomId);
if (groupCall != null) return groupCall;
final room = client.getRoomById(roomId);
if (room == null) {
Logs().w('Not found room id = $roomId');
return null;
}
if (groupCall != null) {
if (!room.canJoinGroupCall) {
Logs().w('No permission to join group calls in room $roomId');
return null;
}
return groupCall;
}
if (!room.groupCallsEnabled) {
await room.enableGroupCalls();
}
if (room.canCreateGroupCall) {
// The call doesn't exist, but we can create it
return await newGroupCall(
roomId, GroupCallType.Video, GroupCallIntent.Prompt);
}
if (room.canJoinGroupCall) {
Logs().w('No permission to join group calls in room $roomId');
return null;
final groupCall = await newGroupCall(
roomId, GroupCallType.Video, GroupCallIntent.Prompt);
if (groupCall != null) {
await groupCall.sendMemberStateEvent();
}
return groupCall;
}
final completer = Completer<GroupCall?>();