h.g
(Harry)
October 8, 2024, 4:17pm
1
Hello, I have a Zoom App that uses the Layers API. My Windows users have reported their video flickering repeatedly when using the App.
I did a little debugging and found out whenever runRenderingContext()
is called, the screen flickers. I do not do anything else after runRenderingContext()
e.g. I do NOT call drawImage()
.
Here is a video of what is happening:
Steps to reproduce:
Launch a Zoom App on a WINDOWS machine
call runRenderingContext()
Please update if there is a resolution - thank you!
1 Like
@h.g ,
Thanks for posting in the Zoom Developer forum! What version of the Zoom Client are you running?
1 Like
@h.g ,
Okay, it looks like you are on an older version, can you upgrade and share if the behavior persists?
h.g
(Harry)
October 8, 2024, 9:09pm
5
@donte.zoom I updated to Version: 6.2.3 (47507), issues remain
@h.g ,
This sounds like a bug. Are you seeing any error messages? Could you share the code snippet you’re using for the Layer API?
1 Like
h.g
(Harry)
October 9, 2024, 1:36pm
7
@donte.zoom yeah sure, on app startup, i just call this
zoomSdk.runRenderingContext({
view: "camera",
})
NOTE: This only affects Windows clients, on Mac it is fine.
@h.g ,
Can you show the entire code snippet ?
h.g
(Harry)
October 9, 2024, 5:24pm
9
Sure, my app is based on the zoomapps-advancedsample-react
.
Replace this part of the sample app zoomapps-advancedsample-react/frontend/src/App.js at main · zoom/zoomapps-advancedsample-react · GitHub
with
const configureSdk = async () => {
// to account for the 2 hour timeout for config
const configTimer = setTimeout(() => {
setCounter(counter + 1);
}, 120 * 60 * 1000);
try {
// Configure the JS SDK, required to call JS APIs in the Zoom App
// These items must be selected in the Features -> Zoom App SDK -> Add APIs tool in Marketplace
const configResponse = await zoomSdk.config({
version: "0.16",
capabilities: [
// Detect when camera turns on/off.
"onMyMediaChange",
// Layers API capabilities.
"getRunningContext",
"runRenderingContext",
"closeRenderingContext",
"drawImage",
"clearImage",
// For our Zoom app.
"getUserContext",
"getMeetingUUID",
"getMeetingParticipants",
"getVideoState",
// In App authorization
"authorize",
],
});
// console.log("App configured", configResponse);
// The config method returns the running context of the Zoom App
setRunningContext(configResponse.runningContext);
setUserContextStatus(configResponse.auth.status);
zoomSdk.addEventListener("onMyUserContextChange", (event) => {
setUserContextStatus(event.status);
});
// Attempt to close and run rendering context on startup.
zoomSdk
.closeRenderingContext()
.then(() => {
console.log("STARTUP: Closing existing rendering context.");
})
.catch((e) => {
console.log("STARTUP NO-OP: Context already closed.");
});
zoomSdk
.runRenderingContext({
view: "camera",
})
.then(() => {
console.log("STARTUP: Running rendering context.");
})
.catch((e) => {
console.log("STARTUP NO-OP: Already rendering context.");
});
} catch (error) {
console.log(error);
setError("There was an error configuring the JS SDK");
}
return () => {
clearTimeout(configTimer);
};
};
configureSdk();
}, [counter]);
@h.g ,
Thanks for sharing this, I’ve reported this behavior to the team. I will keep you posted as update become available.
1 Like
h.g
(Harry)
October 21, 2024, 1:49pm
11
@donte.zoom are there any updates?
h.g
(Harry)
October 28, 2024, 3:49pm
12
@donte.zoom wanted to follow up again - are there any updates or is there a ticket I can track?
1 Like
@h.g ,
Yes, thanks for following up on this. First, can you share if you called runRenderingContext and clearRenderingContext alternately 4 times? Currently, clearRenderingContext clears render content, which would cause a brief white screen. If this is the case, can you call clearRenderingContext only when necessary to reduce the flickering and let us know the results from your testing?
h.g
(Harry)
November 4, 2024, 4:11pm
14
@donte.zoom I only call runRenderingContext
once. Here is another video with just drawing a red square:
As you can see, all I do is call drawImage
once after running rendering context and i get the flash.
I only call closeRenderingContext
when the camera turns off.
h.g
(Harry)
November 12, 2024, 3:48pm
15
@donte.zoom hi, is there an update on this?
@h.g ,
Yes, I’ve checked with our engineers, and currently we don’t have any known issues related to this problem. We will attempt to reproduce the issue on our end. However, we also need your help. Please install the Zoom client troubleshooting build with enhanced logging, reproduce the issue, and then share the logs with us.
Here is the version with the troubleshooting build:
Also, can you book a meeting with me so we can discuss this in more details:
1 Like
h.g
(Harry)
November 13, 2024, 9:51pm
17
@donte.zoom Ok i scheduled time for tomorrow. Also - can i have access to that link? I requested access.
@h.g , Okay, great – looking forward to our meeting. Here is another link you can download the client from:
https://drive.google.com/drive/folders/15VSw7j_Dpy_6N40WGSw6JvOKiznIDiIR?usp=sharing
h.g
(Harry)
November 14, 2024, 6:29pm
19
@donte.zoom I downloaded the client and the same issues still persist.
There was nothing additional on the console logs.
What are the logs you are asking me to share with you? Are they the ones under %appdata%\Zoom\logs
?
1 Like
Correct, those are the logs you want to share, @h.g !