in AmazonChimeSDKDemo/AmazonChimeSDKDemo/MeetingModel.swift [566:595]
func videoTileDidAdd(tileState: VideoTileState) {
logger.info(msg: "Attempting to add video tile tileId: \(tileState.tileId)" +
" attendeeId: \(tileState.attendeeId) with size \(tileState.videoStreamContentWidth)*\(tileState.videoStreamContentHeight)")
if tileState.isContent {
screenShareModel.tileId = tileState.tileId
if activeMode == .screenShare {
screenShareModel.viewUpdateHandler?(true)
}
} else {
if tileState.isLocalTile {
videoModel.setSelfVideoTileState(tileState)
if activeMode == .video {
videoModel.localVideoUpdatedHandler?()
}
} else {
videoModel.addRemoteVideoTileState(tileState, completion: {
if self.activeMode == .video {
// If the video is not currently being displayed, pause it
if !self.videoModel.isRemoteVideoDisplaying(tileId: tileState.tileId) {
self.currentMeetingSession.audioVideo.pauseRemoteVideoTile(tileId: tileState.tileId)
}
self.videoModel.videoUpdatedHandler?()
} else {
// Currently not in the video view, no need to render the video tile
self.currentMeetingSession.audioVideo.pauseRemoteVideoTile(tileId: tileState.tileId)
}
})
}
}
}