webrtc
webrtc copied to clipboard
pion/webrtc@v4 Release
Pion WebRTC Migration Status
This is a running list of projects that need to be migrated to v4. I would love to see a community effort to migrate and fix bugs/improve things as we learn from it.
- LiveKit Projects
- TODO
- example-webrtc-applications
- Broadcast Box
- rtsp-bench
- webrtc-voicemail
- rtwatch
- offline-browser-communication
See https://github.com/pion/webrtc/wiki/Release-WebRTC%40v4.0.0 for the release notes
Not needed but may be good to address https://github.com/pion/webrtc/issues/2292
Maybe we can revert this revert as networkType is not "tcp4"/"tcp6"/etc according to the webrtc-stats?
Also, I find very confusing that we have
func (pc *PeerConnection) OnICEGatheringStateChange(f func(ICEGathererState))
not
func (pc *PeerConnection) OnICEGatheringStateChange(f func(ICEGatheringState))
even though getter is more accurate:
func (pc *PeerConnection) ICEGatheringState() ICEGatheringState
I suggest it is worth making more consistent
even though getter is more accurate:
func (pc *PeerConnection) ICEGatheringState() ICEGatheringState
@aalekseevx Do you mean to do polling instead of event callback?
@at-wat, no, I think this change would be too radical :) I'm just suggesting changing the return type of OnICEGatheringStateChange from ICEGathererState to ICEGatheringState (both types already present in implementation). Mapping could be done this way
@aalekseevx nice catch! I will make both changes
Better to remove deprecated things
- https://github.com/pion/webrtc/pull/2684
Created v4 milestone to track the issues/PRs targeting v4
@at-wat @edaniels (and anyone who is active in this thread)
What do you think of dropping pion/logging for the stdlib's slog? I don't want to put too much annoyance on users, but the less custom things we have the better!
Using slog sounds good, but slog config should be configurable via webrtc.SettingEngine or something similar.
Currently, I use https://github.com/pion/zapion in my products. https://github.com/samber/slog-zap seems be usable if pion/logging is replaced by slog.
I'm onboard with that. Also love using zap
Found a performance regression in SampleBuilder: https://github.com/pion/webrtc/issues/2778