galene
galene copied to clipboard
Galene issues with Safari
- [ ] Galene requests the microphone at login time in order to enable autoplay; I am not aware of a way to avoid that.
- [x] The fake microphone stream is opened too early. Fixed in edd91a8
- [x] The fake microphone stream is not closed at logout. Fixed in edd91a8
- [ ] Screen sharing hangs on occasion; it looks like Safari is not sending empty P frames when nothing changes, a possible solution would be to send either a PLI or a Generic NACK if we haven't received a frame in a few seconds;
- [x] Background blur is disabled. Fixed in 5fa945b
- [ ] Videos don't always close https://github.com/jech/galene/issues/219
Comment by @davidzhao on the Pion channel:
it's possible to not request microphone for autoplay, but it's complicated. The solution we found was to call play() explicitly and handle NotAllowedError . When that error is caught, display UI and let user click on a button to consent audio playback. From the somewhere in the same onClick handler, call play again. Safari has one additional "gotcha" though, if the audio playback stops at any point, and then it tries to start again, it'll require this permission again. It's not great when your app is backgrounded. Here's our workaround to handle that case. https://github.com/livekit/client-sdk-js/blob/cd425c8ca821d412f45b70a80bea4acb5e563cf9/src/room/track/Track.ts https://github.com/livekit/client-sdk-js/blob/cd425c8ca821d412f45b70a80bea4acb5e563cf9/src/room/Room.ts