Front Camera in Portrait Mode Sends Mirrored Video to Remote Participants on Android

Video SDK Type and Version

Zoom Video SDK for Android - us.zoom.videosdk:zoomvideosdk-core 2.1.5 (latest version)
Also tested with older versions like 1.14.0, same behavior.

Description

When using the front camera in portrait mode, the local preview on the device looks correct (mirrored), but the video sent to remote participants is mirrored incorrectly (flipped).

In landscape mode, the behavior is correct:

  • The local preview is mirrored.
  • The video sent to participants is displayed correctly.

Tested on Google Pixel and Samsung devices.

Error?

No explicit error message, but the behavior is incorrect:

  • Portrait Mode (Front Camera):
    • The local preview is mirrored correctly.
    • Remote participants see the video flipped incorrectly.
  • Landscape Mode (Front Camera):
    • Works as expected: the local preview is mirrored, and the remote participants see the correct orientation.

Troubleshooting Routes

  1. Tested on multiple devices (Pixel, Samsung) – same issue.
  2. Verified the buffers from ZoomVideoSDKPreProcessRawData to ensure correct image data processing.
  3. Checked orientation settings in the manifest and SDK initialization.
  4. Tested with the official sample app – the issue is reproducible there as well.
  5. iOS and Web versions work correctly – the issue only occurs on Android.

How to Reproduce

  1. Use the Zoom Video SDK for Android (2.1.5).
  2. Start a video session in portrait mode using the front camera.
  3. Observe the local preview – it appears correct (mirrored).
  4. Observe the video sent to remote participants – it is incorrectly flipped.
  5. Switch to landscape mode – both preview and sent video behave correctly.

Is this a known issue? Is there any recommended fix or workaround?

1 Like

Any updates on this? Has anyone else experienced this issue on Android?
I tested it with multiple devices and versions, and it behaves differently from iOS and Web.
Would appreciate any insights or possible workarounds.

@jon.zoom sorry yo ping you… do you have any idea of this behaviour ?

Hello @Guido,

Does isMyVideoMirrored() return true in portrait mode, and not landscape? What is the behavior when you call mirrorMyVideo on either?

Thanks,
Richard

Both in portrait and landscape [isMyVideoMirrored()] returns true.
I’m not setting it in any place in the code.

1 Like

The problem is how participant sees the image. I raise my left hand and participant would think that is my right hand. The image is being sent without mirroring.
When I place my phone landscape participant see that I’m raising the left hand which is fine.
Also, I’m not doing anything with raw data. Just starting video and preview.

I couldn’t reproduce it using Web Sample App. No issue in Android SDK platform.
You can close this post.

1 Like