Welcome to the Microsoft Q&A community.
Azure Communication Services (ACS) does support screen sharing on iOS, but it requires some specific steps and considerations. Your approach using a Broadcast Upload Extension to capture screen frames and transferring them to the main app is a valid method. Here are some key points and best practices to consider:
- Broadcast Upload Extension: This is the recommended way to capture screen content on iOS. You can use the
RPBroadcastSampleHandler
to capture screen frames and then transfer them to your main app using App Groups or Darwin Notifications. - Transferring Frames: Using App Groups or Darwin Notifications to transfer frames from the Broadcast Upload Extension to the main app is a common practice. Ensure that you handle the data transfer efficiently to minimize latency.
- Converting CVPixelBuffer: You can convert the captured
CVPixelBuffer
to anACSOutgoingVideoStream
and send it to the ACS Local Video Stream. This involves creating a custom video stream and managing the video frames appropriately. - ACS SDK: The ACS Calling SDK provides APIs for managing video streams, including screen sharing. You can use the
LocalVideoStream
class to handle the video stream and integrate it with your ACS call. For detailed implementation and best practices, you can refer to the Azure Communication Services Calling SDK documentation and the best practices guide. I hope these helps. Let me know if you have any further questions or need additional assistance. Also if these answers your query, do click the "Upvote" and click "Accept the answer" of which might be beneficial to other community members reading this thread.