About This Page
This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.
Bias Analysis
Bias Types:
⚠️
windows_tools
⚠️
windows_first
Summary:
The documentation is generally Android/Java-focused, but there is a notable Windows bias in the 'ScreenShare Video' section, where it explicitly references 'Windows APIs' for frame capture and states 'Because the Windows system generates the frames...'. No equivalent mention or guidance is provided for Linux or macOS systems, nor is there a general cross-platform approach described for screen capture. This implicitly prioritizes Windows and may exclude or confuse Linux developers.
Recommendations:
- Provide platform-agnostic guidance for screen capture, or explicitly mention how to implement screen sharing on Linux (and macOS) alongside Windows.
- If Windows-specific APIs are referenced, also include equivalent Linux (e.g., X11, PipeWire, GStreamer) and macOS (e.g., AVFoundation) approaches or at least acknowledge their existence.
- Clarify whether the SDK supports screen sharing on non-Windows platforms, and if not, state this limitation clearly.
- Avoid language that assumes Windows as the default system (e.g., 'Because the Windows system generates the frames...') in cross-platform documentation.
- Add sample code or external references for Linux/macOS screen capture if possible, or link to community resources.
Create pull request
Flagged Code Snippets
### Receive Raw Incoming audio
We can also receive the call audio stream samples as [`java.nio.ByteBuffer`](https://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html) if we want to process the audio before playback.
Create a `RawIncomingAudioStreamOptions` object specifying the raw stream properties we want to receive.
## ScreenShare Video
Because the Windows system generates the frames, you must implement your own foreground service to capture the frames and send them by using the Azure Communication Services Calling API.
### Supported video resolutions
| Aspect ratio | Resolution | Maximum FPS |
| --- | --- | --- |
| Anything | Anything up to 1080p | 30 |
### Steps to create a screen share video stream
1. Create an array of `VideoFormat` using the VideoStreamPixelFormat the SDK supports.
When multiple formats are available, the order of the formats in the list doesn't influence or prioritize which one is used. The criteria for format selection are based on external factors like network bandwidth.