func initializeBroadcastSession()

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)")
        }
    }