Issues with buffer as our input on UE5.1

Hello, a few questions about our integration:

  1. We are able to get Camera View and put it on a texture (byteBuffer), but I am not understanding how to send it to ZoomSDK
  • How can we send custom Video Buffer to Zoom Meeting SDK. I am seeing this ZoomSDKVideoSender which has this function public void sendVideoFrame(ByteBuffer byteBuffer, int i, int i1, int i2, int i3) but how should i use it ?

  • If we are using a custom Video Source, how can we tell ZoomSDK that we are using a custom Video Source,

videoSource = new ZoomRawVideoSource();
ZoomSDKVideoSourceHelper sourceHelper = ZoomSDK.getInstance().getVideoSourceHelper();sourceHelper.setExternalVideoSource(videoSource);
``` I found this Is this how you setup a custom Video Source, If yes, then where to send custom Buffers.

- How do we start and stop video with Custom Video Source, are these function will still be valid, after we setup a custom VideoSource 
```    public void MuteVideo(boolean state)
    {
        if(mZoomSDK.isInitialized())
        {
            if(ZoomSDK.getInstance().getMeetingService().getMeetingStatus() == MeetingStatus.MEETING_STATUS_INMEETING)
            {
                InMeetingVideoController meetingVideoController = ZoomSDK.getInstance().getInMeetingService().getInMeetingVideoController();
                if(state)
                {
                    if(meetingVideoController.canUnmuteMyVideo())
                    {
                        Log.d(TAG,"Cannot Mute as Video is already Muted ");
                        return;
                    }
                    meetingVideoController.muteMyVideo(true);
                    Log.d(TAG,"Video Muted");
                }
                else
                {
                    if(meetingVideoController.canUnmuteMyVideo())
                    {
                        meetingVideoController.muteMyVideo(false);
                        Log.d(TAG,"Video Unmuted");
                        return;
                    }
                    Log.d(TAG,"Cannot Unmuted Video as it is already Unmuted ");
                }
            }
        }
    }```

2.  We're still trying to send the video buffer as our input and we can see that we're receiving the video buffer from UE in C++ and we're converting to byte buffer and sending it to Java and using this code 
sender.sendVideoFrame(buffer,width,height,framelength2,rotation); inside this class: ZoomSDKVideoSource we're saving the sender on initialize 

public void onInitialize(ZoomSDKVideoSender zoomSDKVideoSender, 
List<ZoomSDKVideoCapability> list, ZoomSDKVideoCapability 
zoomSDKVideoCapability) { 
     Log.d(Tag,"onInitialize "+zoomSDKVideoSender); 
     sender = zoomSDKVideoSender; }

But we're not seeing any video as the person on the Zoom UI

3. In our user Case, we only going to show the Tile of Currently Speaking User, and if user is Sharing Video, then tile will be replaced with VideoFrame Default Tile will be showing only Username. So Is it possible from Zoom Meeting SDK to get CurrentActiveSpeaker via a callback or something. I was hoping these callbacks will give something back,

 @Override
    public void onActiveVideoUserChanged(long l)
    {
        Log.d(TAG,"onActiveVideoUserChanged : "+l);
    }

    @Override
    public void onActiveSpeakerVideoUserChanged(long l)
    {
        Log.d(TAG,"onActiveSpeakerVideoUserChanged : "+l);
    }

    @Override
    public void onSpotlightVideoChanged(List<Long> list) {
        Log.d(TAG,"onSpotlightVideoChanged : ");
    }

but for some reason these callbacks are not working - for each RawVideo Frame, how can we get higher resolution of frames, right now we are getting 240x320, sometimes even smaller. Is it possible to increase the resolution that we receive?

4. We're using Android SDK for now, and we're having this problem on Meta Quest where any time we initialize the SDK, and we press the menu button it basically puts the application in background thread. And this crashes the app. Because this only happens after the initialize.sdk, is it possible that Zoon SDK is somehow managing the lifescyle of Zoom SDK when the app goes into background thread? How can we override this? We're doing our own code for this. We also get a crash when we press the volume buttons.