celioArc
(Celio)
October 20, 2025, 3:57pm
1
I want to use the video canvas at 4:3 scale, and it always looks correct after going through the camera permission screen. But every other time I open the app, with the permission already granted, the video canvas scale displays at 16:9.
I disabled Full HD within the Zoom Video SDK parameters and am subscribing to the canvas with the following parameter:
ZoomVideoSDKVideoAspect.ZoomVideoSDKVideoAspect_Original.
How can I always use the scale 4:3?
Hi @celioArc can you provide a code snippet of your apps video subscribe/unsubscribe logic?
celioArc
(Celio)
October 22, 2025, 2:03pm
3
Sure, Ticorrian.
lifecycle.coroutineScope.launch {
viewModel.videoStreamingStateFlow.collect { state ->
when (state) {
is VideoStreamingState.Streaming -> {
state.canvas.subscribe(
shareView,
ZoomVideoSDKVideoAspect.ZoomVideoSDKVideoAspect_Original,
ZoomVideoSDKVideoResolution.VideoResolution_720P
)
shareView.visibility = View.VISIBLE
shareView.doOnLayout {
viewModel.sendCameraPreviewDimensions(it.width, it.height)
}
statusBarView.setVideoRecordingStatus(true)
}
is VideoStreamingState.NotStreaming -> {
state.canvas?.unSubscribe(shareView)
shareView.visibility = View.GONE
statusBarView.setVideoRecordingStatus(false)
}
}
}
}
celioArc
(Celio)
October 24, 2025, 2:13pm
4
Hi Ticorrian.
What logs do you want me to provide?
To verify which part of the code is saving the scale configuration incorrectly.
Hi @celioArc Can you print the value of `ZoomVideoSDKVideoAspect.ZoomVideoSDKVideoAspect_Original`
when (state) {
is VideoStreamingState.Streaming -> {
here---> println(ZoomVideoSDKVideoAspect.ZoomVideoSDKVideoAspect_Original)
state.canvas.subscribe(
shareView,
ZoomVideoSDKVideoAspect.ZoomVideoSDKVideoAspect_Original,
ZoomVideoSDKVideoResolution.VideoResolution_720P
)
shareView.visibility = View.VISIBLE
shareView.doOnLayout {
viewModel.sendCameraPreviewDimensions(it.width, it.height)
}
statusBarView.setVideoRecordingStatus(true)
}
is VideoStreamingState.NotStreaming -> {
state.canvas?.unSubscribe(shareView)
shareView.visibility = View.GONE
statusBarView.setVideoRecordingStatus(false)
}
}
I would like to verify the value is not getting nulled for any reason when you restart the app.