Для того чтобы приходили видео стримы от собеседников, нужно отправлять специальную команду updateDisplayLayout. В противном случае видео от других участников звонка может не приходить вообще.

Команда updateDisplayLayout указывает, от каких собеседников нужно получать видео и в каких размерах. Также, она позволяет остановить видео от собеседника.

Некоторые примеры использования:

SDK.init({
// ...
onRemoteMediaSettings: (userId, mediaSettings) => {
if (mediaSettings.isVideoEnabled || mediaSettings.isScreenSharingEnabled) {
// Запрашиваем видео от участника, когда он включает камеру или трансляцию экрана
SDK.updateDisplayLayout([{
uid: userId,
mediaType: mediaSettings.isVideoEnabled ? MediaType.CAMERA : MediaType.SCREEN,
width: 1920,
height: 1080,
}]);
} else if (!mediaSettings.isVideoEnabled && !mediaSettings.isScreenSharingEnabled) {
// Выключаем видео от собеседника (необязательно)
SDK.updateDisplayLayout([{
uid: userId,
stopStream: true,
}]);
}
},

onConversation: (userId, mediaModifiers, muteStates, participants) => {
// Запрашиваем видео на старте звонка
const layouts = participants
.filter(({mediaSettings}) =>
mediaSettings.isVideoEnabled || mediaSettings.isScreenSharingEnabled)
.map(({uid, mediaSettings}) => ({
uid,
mediaType: mediaSettings.isVideoEnabled ? MediaType.CAMERA : MediaType.SCREEN,
width: 1920,
height: 1080,
}));

SDK.updateDisplayLayout(layouts);
},
});