This message was deleted.
# helpdesk
s
This message was deleted.
p
hi! are you using flutter or one of the web sdks? Does it also happen on meet.livekit.io?
w
we are using flutter and it also seem to happen with the example code
p
the example code of flutter or do you mean meet.livekit.io?
cc @freezing-lifeguard-43174
w
when we use this one, it happens, and if we remove onchanged listener it stops but then we also dont receive the wanted updates
let me try meet.livekit.io
it works beautiful in meet.livekit.io
f
ah, this might be a flutter web glitch specific to safari, I'll try to fix it
w
hmm, okay, can we do something to help fix the issue or do you know what the problem is?
f
okay, can you tell me the version of macOS/Safari system you are using?
This may be related to video renderer state management.🤔
w
Big Sur 11.7.9 and Safari 16.6
widget.participant.addListener(_onParticipantChanged);
when this is removed the issue disappear obviously, but we saw inside the videoTrackRender that everyone swaps between Container and Builder
Copy code
@override
  Widget build(BuildContext context) => !_rendererReady
      ? Container()
      : Builder(
          key: _internalKey,
          builder: (ctx) {
            // let it render before notifying build
            WidgetsBindingCompatible.instance
                ?.addPostFrameCallback((timeStamp) {
              widget.track.onVideoViewBuild?.call(_internalKey);
            });
            return rtc.RTCVideoView(
              _renderer,
              mirror: _shouldMirror(),
              filterQuality: FilterQuality.medium,
              objectFit: widget.fit,
            );
          },
        );
👀 1
the issue also appears on: macOS Ventura 13.4.1 and Safari 16.5.2
were you able to re-create the issue?
@freezing-lifeguard-43174 I understand you guys are swamped with other stuff, but have you had any chance at looking into the issue at hand?
f
hey @wide-shoe-67933, yeah, been busy lately 😀, but I will try to debug this issue within this week.
w
Awesome, no worries 🥳
@freezing-lifeguard-43174 Sorry once again for nagging you, but do you have had the chance to look at this issue?
d
Hey @wide-shoe-67933, Duan is currently on vacation. he'll get back on it when he returns
w
@dry-elephant-14928 Ah, thanks for the heads up! You guys are doing an awesome job with livekit 🥳👏
❤️ 1
d
thank you for the kind words! we'll get these bugs ironed out soon. I feel bad that it's already taken so long
w
Dude, dont be, we wouldn't have been were we are today without you guys! I also tested your LiveKit Flutter Example connected to your servers and it also seem like it suffers from the same blinking dilemma, but you're on top of it which is more than enough
🙏 1
f
hey @wide-shoe-67933, This may be a bug related to the flutter web on Safari. I made some experimental modifications that can improve the black screen caused by toggle/mute their audio tracks. https://github.com/livekit/client-sdk-flutter/pull/388 But I have never understood why mute local video track causes the remote video track to flicker, I found that dragging the safari window to change the remote track will also cause the video window to flicker. In addition, when I use another ios native app to join the room and switch In landscape/vertical orientation, the remote video on Safari will also flicker or have the wrong display ratio, but will return to the correct state within 1 second.
w
Interesting, could this be an issue that only Apple and Safari themselves can fix?
f
It may also be related to css style transformation, https://github.com/flutter/flutter/issues/39980
w
Do you think this could be a tricky issue to solve?
f
Yes, this is a tricky issue, but I’ll try to fix it.
The js sdk sample app doesn’t seem to have similar flickering, I’m comparing the difference with the flutter web implementation
w
Awesome, hopefully you can find something. We appreciate everything you guys do!
f
I’ve opened an issue in the flutter community to see if they can help us. I did a few rounds of testing and it seems the bug comes from the flutter web engine, because I wrote a similar test with dart-webrtc, using a div wrapped video element No matter add/remove, it will not cause flickering. https://github.com/flutter/flutter/issues/137387
😮 1
w
Oh, so in other words, its kinda severe? I know it might be to early to tell, but could this issue be out of your hands and we have to wait on someone else to help, fix the issue, and implement a solution? Still, great job nonetheless! We are still baffled how easy it is to actually get a video call working with livekit/webrtc 👏
f
Yeah, the flutter team reproduced this failure in stable and master channel. This is beyond the scope of what I can fix 🤷‍♂️. so we need to wait for the flutter team to fix this issue.
w
Damn 😕 Okay, thanks for trying. I had a different question for you when you were away on vacation. But I also saw that you had seen that so I guess you're working on that as well ;)
s
Hi @freezing-lifeguard-43174! How is it going with Flutter issue #137387? Seems like they are waiting for an answer? https://github.com/flutter/flutter/issues/137387#issuecomment-1791286622
f
Ha, I forgot to check and reply
👍 2