in Broadcasting/BroadcastViewModel.swift [121:149]
func initializeBroadcastSession() {
guard !sessionIsRunning else {
previewView?.attachCameraPreview()
return
}
if previewView == nil {
previewView = BroadcastPreview(viewModel: self)
}
if activeCameraDescriptor == nil {
let defaultCamera = availableCameraDevices.first(where: { $0.urn == defaultCameraUrn })
activeCameraDescriptor = defaultCamera ?? IVSPresets.devices().frontCamera().first
}
do {
configurations.setupSlots()
// Create the session with a preset config and camera/microphone combination.
broadcastSession = try IVSBroadcastSession(configuration: configurations.activeConfiguration,
descriptors: nil,
delegate: broadcastDelegate)
broadcastDelegate.viewModel = self
attachedCamera = nil
attachDeviceCamera()
attachDeviceMic()
} catch {
print("❌ Error initializing IVSBroadcastSession: \(error)")
}
}