client-sdk-swift
client-sdk-swift copied to clipboard
switchCameraPosition on CameraCapturer causes the VideoView to be flipped horizontally for split of a second
Describe the bug When you want to switch camera between front and rear camera, VideoView shows frame flipped horizontally.
SDK Version 2.0.5
iOS/macOS Version iPhone 15 Pro, iOS 17.5
Minimal Example code I've made a few changes to uikit-minimal repository to show this effect.
branch: bug/switch-camera-position-flipped-horizontally
PR showing the changes: https://github.com/patryk-sredzinski/client-sdk-swift/pull/1/files
Steps to Reproduce
- Create LocalVideoTrack
- Create VideoView
- Start LocalVideoTrack
- Set VideoView's track to LocalVideoTrack
- Execute switchCameraPosition on LocalVideoTrack's capturer
- Observe
// If this myVideoTrack is added to a videoView, the ugly mirror/horizontal flip occours
try await (myVideoTrack.capturer as? CameraCapturer)?.switchCameraPosition()
Expected behavior VideoView should probably just keep the last valid frame, and flip only when new frame from new camera is available
Screenshots
This just looks bad and breaks a nice user experience. or maybe I am doing something wrong here?
Thanks I have noticed this too. It needs some timing tweaking etc.
Further improvements in this PR: https://github.com/livekit/client-sdk-swift/pull/383