diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java index 3e63d854b..249ef9c86 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java @@ -504,6 +504,10 @@ public class CallActivity extends AppCompatActivity { onMicrophoneClick(); } + if (cameraEnumerator.getDeviceNames().length == 0) { + cameraControlButton.setVisibility(View.GONE); + } + if (cameraSwitchButton != null && cameraEnumerator.getDeviceNames().length > 1) { cameraSwitchButton.setVisibility(View.VISIBLE); } @@ -518,6 +522,10 @@ public class CallActivity extends AppCompatActivity { onCameraClick(); } + if (cameraEnumerator.getDeviceNames().length == 0) { + cameraControlButton.setVisibility(View.GONE); + } + if (cameraSwitchButton != null && cameraEnumerator.getDeviceNames().length > 1) { cameraSwitchButton.setVisibility(View.VISIBLE); } @@ -606,16 +614,19 @@ public class CallActivity extends AppCompatActivity { videoCapturer = createCameraCapturer(cameraEnumerator); //Create a VideoSource instance - videoSource = peerConnectionFactory.createVideoSource(videoCapturer); - localVideoTrack = peerConnectionFactory.createVideoTrack("NCv0", videoSource); - localMediaStream.addTrack(localVideoTrack); - localVideoTrack.setEnabled(false); + if (videoCapturer != null) { + videoSource = peerConnectionFactory.createVideoSource(videoCapturer); + localVideoTrack = peerConnectionFactory.createVideoTrack("NCv0", videoSource); + localMediaStream.addTrack(localVideoTrack); + localVideoTrack.setEnabled(false); + + //create a videoRenderer based on SurfaceViewRenderer instance + localRenderer = new VideoRenderer(pipVideoView); + // And finally, with our VideoRenderer ready, we + // can add our renderer to the VideoTrack. + localVideoTrack.addRenderer(localRenderer); + } - //create a videoRenderer based on SurfaceViewRenderer instance - localRenderer = new VideoRenderer(pipVideoView); - // And finally, with our VideoRenderer ready, we - // can add our renderer to the VideoTrack. - localVideoTrack.addRenderer(localRenderer); } private void microphoneInitialization() {