attachRemoteVideoView

expect suspend fun UserSessionScope.attachRemoteVideoView(participantId: QualifiedID, clientId: String, view: PlatformView): RemoteVideoViewAttachment

Attach an iOS AVSVideoView to one remote client's stream. The caller owns the view lifetime. Different native views remain attached independently, including views of the same stream. Reattaching the same native view and stream returns its existing lease, even through another PlatformView wrapper. Rebinding that view to another stream detaches its previous attachment and invalidates the old lease. If that detach fails, the previous attachment remains owned and the new stream is not attached. If the new attach fails after detach succeeds, that view remains detached. Other views are unaffected. Operations run on the main dispatcher. The caller must detach each returned lease when its view disappears.

actual suspend fun UserSessionScope.attachRemoteVideoView(participantId: QualifiedID, clientId: String, view: PlatformView): RemoteVideoViewAttachment

Attach an iOS AVSVideoView to one remote client's stream. The caller owns the view lifetime. Different native views remain attached independently, including views of the same stream. Reattaching the same native view and stream returns its existing lease, even through another PlatformView wrapper. Rebinding that view to another stream detaches its previous attachment and invalidates the old lease. If that detach fails, the previous attachment remains owned and the new stream is not attached. If the new attach fails after detach succeeds, that view remains detached. Other views are unaffected. Operations run on the main dispatcher. The caller must detach each returned lease when its view disappears.