Skip to content

Commit ff065e3

Browse files
authored
Merge pull request #295069 from yassirbisteni/yassirb/4039776
Local preview mirroring
2 parents 0a5c193 + a4db2eb commit ff065e3

File tree

6 files changed

+147
-0
lines changed

6 files changed

+147
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
title: Quickstart - Turn off local preview mirroring
3+
titleSuffix: An Azure Communication Services Quickstart
4+
description: This quickstart describes how to turn off local preview mirroring
5+
author: yassirbisteni
6+
manager: gaobob
7+
8+
ms.author: yassirb
9+
ms.date: 2/21/2025
10+
ms.topic: quickstart
11+
ms.service: azure-communication-services
12+
ms.subservice: calling
13+
ms.custom: mode-other, devx-track-js
14+
15+
zone_pivot_groups: acs-plat-web-windows-android-ios
16+
---
17+
18+
### Turn off local preview mirroring
19+
20+
````java
21+
VideoStreamRenderer renderer = new VideoStreamRenderer(localVideoStream, this);
22+
VideoStreamRendererView view = renderer.createView(new CreateViewOptions(scalingMode));
23+
view.setRotationY(view.getRotationY() + 180f);
24+
````
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
title: Quickstart - Turn off local preview mirroring
3+
titleSuffix: An Azure Communication Services Quickstart
4+
description: This quickstart describes how to turn off local preview mirroring
5+
author: yassirbisteni
6+
manager: gaobob
7+
8+
ms.author: yassirb
9+
ms.date: 2/21/2025
10+
ms.topic: quickstart
11+
ms.service: azure-communication-services
12+
ms.subservice: calling
13+
ms.custom: mode-other, devx-track-js
14+
15+
zone_pivot_groups: acs-plat-web-windows-android-ios
16+
---
17+
18+
### Turn off local preview mirroring
19+
20+
````swift
21+
var renderer = try VideoStreamRenderer(localVideoStream: localVideoStream)
22+
var view = try renderer?.createView(withOptions: CreateViewOptions(scalingMode: scalingMode))
23+
var view?.layer.transform = CATransform3DMakeAffineTransform(CGAffineTransformMakeScale(-1.0, 1.0))
24+
````
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
title: Quickstart - Turn off local preview mirroring
3+
titleSuffix: An Azure Communication Services Quickstart
4+
description: This quickstart describes how to turn off local preview mirroring
5+
author: yassirbisteni
6+
manager: gaobob
7+
8+
ms.author: yassirb
9+
ms.date: 2/21/2025
10+
ms.topic: quickstart
11+
ms.service: azure-communication-services
12+
ms.subservice: calling
13+
ms.custom: mode-other, devx-track-js
14+
15+
zone_pivot_groups: acs-plat-web-windows-android-ios
16+
---
17+
18+
### Turn off local preview mirroring
19+
20+
````csharp
21+
var uri = await localOutgoingVideoStream.StartPreviewAsync();
22+
mediaPlayerElement.Source = MediaSource.CreateFromUri(uri);
23+
24+
var mediaPlayer = mediaPlayerElement.MediaPlayer;
25+
var playbackSession = mediaPlayer.PlaybackSession;
26+
playbackSession.IsMirroring = true;
27+
````
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
title: Quickstart - Turn off local preview mirroring
3+
titleSuffix: An Azure Communication Services Quickstart
4+
description: This quickstart describes how to mirror turn off local preview mirroring
5+
author: yassirbisteni
6+
manager: gaobob
7+
8+
ms.author: yassirb
9+
ms.date: 2/21/2025
10+
ms.topic: quickstart
11+
ms.service: azure-communication-services
12+
ms.subservice: calling
13+
ms.custom: mode-other, devx-track-js
14+
15+
zone_pivot_groups: acs-plat-windows-android-ios
16+
---
17+
# Turn off local preview mirroring
18+
19+
**We’re excited to announce the rollout of the turn off local preview mirroring feature for the native ACS calling experience**
20+
<br/>
21+
<br/>Meeting participants can now choose to stop mirroring their video preview—the small window showing how they appear during meetings.
22+
<br/>This is especially useful for situations like:
23+
<br/>✅ Virtual backgrounds with text – ensuring words appear correctly in your preview.
24+
<br/>✅ Teaching and presenting – making it easier to align your view with what participants see, reducing distractions when writing on a whiteboard or sharing content.
25+
26+
## Frequently Asked Questions
27+
1. What is the default setting?
28+
<br/> By default, your video will be mirrored to you. This matches the familiar experience of front-facing smartphone cameras. However, you can easily toggle mirroring off when joining a meeting.
29+
2. Does this affect my outgoing video?
30+
<br/> No, this setting only changes your personal view. Others will always see your video as intended, regardless of whether mirroring is on or off.
31+
4. When is this most useful?
32+
<br/> This feature is helpful in:
33+
<br/> - Gallery & Large Gallery views
34+
<br/> - Preview videos
35+
<br/> - PowerPoint content sharing & PowerPoint Live
36+
<br/> *These views mirror your self-view, but others still see your actual video.
37+
## Quickstart: Turn off local preview mirroring
38+
39+
::: zone pivot="platform-windows"
40+
[!INCLUDE [Turn off local preview mirroring on Windows](./includes/local-preview-mirroring/local-preview-mirroring-windows.md)]
41+
::: zone-end
42+
43+
::: zone pivot="platform-android"
44+
[!INCLUDE [Turn off local preview mirroring on Android](./includes/local-preview-mirroring/local-preview-mirroring-android.md)]
45+
::: zone-end
46+
47+
::: zone pivot="platform-ios"
48+
[!INCLUDE [Turn off local preview mirroring on iOS](./includes/local-preview-mirroring/local-preview-mirroring-ios.md)]
49+
::: zone-end
50+
51+
## Next steps
52+
53+
- [Consume call logs with Azure Monitor](../../concepts/analytics/logs/voice-and-video-logs.md).
54+
55+
## Related articles
56+
57+
- Check out the [calling hero sample](../../samples/calling-hero-sample.md).
58+
- Get started with the [UI Library](../../concepts/ui-library/ui-library-overview.md).
59+
- Learn about [Calling SDK capabilities](./getting-started-with-calling.md?pivots=platform-web).
60+
- Learn more about [how calling works](../../concepts/voice-video-calling/about-call-types.md).

articles/communication-services/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,8 @@ items:
494494
href: tutorials/add-video-augmented-reality-tutorial.md
495495
- name: Set video constraints in a calling app
496496
href: quickstarts/voice-video-calling/get-started-video-constraints.md
497+
- name: Local preview mirroring
498+
href: quickstarts/voice-video-calling/local-preview-mirroring.md
497499
- name: Optimize video placement on your web app
498500
href: quickstarts/voice-video-calling/optimizing-video-placement.md
499501
displayName: Optimal Video Count, OVC, dual pin

articles/zone-pivot-groups.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1825,6 +1825,16 @@ groups:
18251825
title: Android
18261826
- id: platform-ios
18271827
title: iOS
1828+
- id: acs-plat-windows-android-ios
1829+
title: Platforms
1830+
prompt: Choose a platform
1831+
pivots:
1832+
- id: platform-windows
1833+
title: Windows
1834+
- id: platform-android
1835+
title: Android
1836+
- id: platform-ios
1837+
title: iOS
18281838
# Owner: bagol
18291839
- id: sentinel-sap-connection
18301840
title: Connection

0 commit comments

Comments
 (0)