Stop showing video in group calls when it isn't being forwarded.

fork-5.53.8
Rashad Sookram 2022-04-29 11:00:09 -04:00 zatwierdzone przez Greyson Parrelli
rodzic 2f1b05f882
commit f7b9942f11
8 zmienionych plików z 11 dodań i 2 usunięć

Wyświetl plik

@ -147,7 +147,7 @@ public class CallParticipantView extends ConstraintLayout {
} else {
infoOverlay.setVisibility(View.GONE);
boolean hasContentToRender = participant.isVideoEnabled() || participant.isScreenSharing();
boolean hasContentToRender = (participant.isVideoEnabled() || participant.isScreenSharing()) && participant.isForwardingVideo();
rendererFrame.setVisibility(hasContentToRender ? View.VISIBLE : View.GONE);
renderer.setVisibility(hasContentToRender ? View.VISIBLE : View.GONE);

Wyświetl plik

@ -13,6 +13,7 @@ data class CallParticipant constructor(
val identityKey: IdentityKey? = null,
val videoSink: BroadcastVideoSink = BroadcastVideoSink(),
val cameraState: CameraState = CameraState.UNKNOWN,
val isForwardingVideo: Boolean = true,
val isVideoEnabled: Boolean = false,
val isMicrophoneEnabled: Boolean = false,
val lastSpoke: Long = 0,
@ -126,6 +127,7 @@ data class CallParticipant constructor(
recipient: Recipient,
identityKey: IdentityKey?,
renderer: BroadcastVideoSink,
isForwardingVideo: Boolean,
audioEnabled: Boolean,
videoEnabled: Boolean,
lastSpoke: Long,
@ -139,6 +141,7 @@ data class CallParticipant constructor(
recipient = recipient,
identityKey = identityKey,
videoSink = renderer,
isForwardingVideo = isForwardingVideo,
isVideoEnabled = videoEnabled,
isMicrophoneEnabled = audioEnabled,
lastSpoke = lastSpoke,

Wyświetl plik

@ -48,6 +48,7 @@ public class BeginCallActionProcessorDelegate extends WebRtcActionProcessor {
true,
currentState.getLocalDeviceState().getOrientation().getDegrees()),
true,
true,
false,
0,
true,
@ -102,6 +103,7 @@ public class BeginCallActionProcessorDelegate extends WebRtcActionProcessor {
true,
currentState.getLocalDeviceState().getOrientation().getDegrees()),
true,
true,
false,
0,
true,

Wyświetl plik

@ -105,6 +105,7 @@ public class GroupActionProcessor extends DeviceAwareActionProcessor {
recipient,
null,
videoSink,
device.getForwardingVideo() == null || device.getForwardingVideo(),
Boolean.FALSE.equals(device.getAudioMuted()),
Boolean.FALSE.equals(device.getVideoMuted()),
device.getSpeakerTime(),

Wyświetl plik

@ -130,6 +130,7 @@ public class GroupPreJoinActionProcessor extends GroupActionProcessor {
new BroadcastVideoSink(),
true,
true,
true,
0,
false,
0,

Wyświetl plik

@ -154,6 +154,7 @@ public final class IncomingGroupCallActionProcessor extends DeviceAwareActionPro
true,
currentState.getLocalDeviceState().getOrientation().getDegrees()),
true,
true,
false,
0,
true,

Wyświetl plik

@ -178,7 +178,7 @@ public class CallParticipantListUpdateTest {
private static CallParticipant createParticipant(long recipientId, long deMuxId, @NonNull CallParticipant.DeviceOrdinal deviceOrdinal) {
Recipient recipient = new Recipient(RecipientId.from(recipientId), mock(RecipientDetails.class), true);
return CallParticipant.createRemote(new CallParticipantId(deMuxId, recipient.getId()), recipient, null, new BroadcastVideoSink(), false, false, -1, false, 0, false, deviceOrdinal);
return CallParticipant.createRemote(new CallParticipantId(deMuxId, recipient.getId()), recipient, null, new BroadcastVideoSink(), false, false, false, -1, false, 0, false, deviceOrdinal);
}
}

Wyświetl plik

@ -242,6 +242,7 @@ public class ParticipantCollectionTest {
new BroadcastVideoSink(),
false,
false,
false,
lastSpoke,
false,
added,