Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pion/webrtc@v4 Release #2557

Open
Sean-Der opened this issue Sep 5, 2023 · 11 comments
Open

pion/webrtc@v4 Release #2557

Sean-Der opened this issue Sep 5, 2023 · 11 comments

Comments

@Sean-Der
Copy link
Member

Sean-Der commented Sep 5, 2023

I merged a breaking change with 60eea43

This added support for DTLS Close Notify. This means the PeerConnection will transition to Closed directly without user interaction. Pion's documentation only suggested handling Failed and Disconnected before. Users will need to manually audit their code before upgrading.

Since we are breaking the API does anyone else things that are worth changing?


Changes

Complete

TODO

  • Distinct SSRC RTX Support
  • Use slog (standard library logging) instead of pion/logging
  • Review and add labels to all issues in pion/webrtc
  • Release new major version of pion/dtls
  • Review/Clear Issue Backlog for dependencies
    • pion/dtls
    • pion/example-webrtc-applications
    • pion/ice
    • pion/interceptor
    • pion/logging
    • pion/mdns
    • pion/randutil
    • pion/rtcp
    • pion/rtp
    • pion/sctp
    • pion/srtp
    • pion/stun
    • pion/transport
    • pion/turn
    • pion/webrtc
@edaniels
Copy link
Member

edaniels commented Sep 6, 2023

Not needed but may be good to address #2292

@aalekseevx
Copy link
Contributor

Maybe we can revert this revert as networkType is not "tcp4"/"tcp6"/etc according to the webrtc-stats?

@aalekseevx
Copy link
Contributor

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

@at-wat
Copy link
Member

at-wat commented Sep 6, 2023

even though getter is more accurate:
func (pc *PeerConnection) ICEGatheringState() ICEGatheringState

@aalekseevx Do you mean to do polling instead of event callback?

@aalekseevx
Copy link
Contributor

@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

@Sean-Der
Copy link
Member Author

Sean-Der commented Sep 8, 2023

@aalekseevx nice catch! I will make both changes

Sean-Der added a commit that referenced this issue Sep 11, 2023
Return ICEGatheringState not ICEGathererState

Relates to #2557
Sean-Der added a commit that referenced this issue Sep 11, 2023
Return ICEGatheringState not ICEGathererState

Relates to #2557
Sean-Der added a commit that referenced this issue Sep 11, 2023
Return ICEGatheringState not ICEGathererState

Relates to #2557
Sean-Der added a commit that referenced this issue Sep 11, 2023
Return ICEGatheringState not ICEGathererState

Relates to #2557
Sean-Der added a commit that referenced this issue Sep 12, 2023
Sean-Der added a commit that referenced this issue Sep 12, 2023
Sean-Der added a commit that referenced this issue Sep 12, 2023
Sean-Der added a commit that referenced this issue Sep 13, 2023
Sean-Der added a commit that referenced this issue Sep 13, 2023
@adriancable adriancable pinned this issue Oct 7, 2023
@at-wat
Copy link
Member

at-wat commented Feb 29, 2024

Better to remove deprecated things

@at-wat
Copy link
Member

at-wat commented Mar 7, 2024

Created v4 milestone to track the issues/PRs targeting v4

@Sean-Der
Copy link
Member Author

@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!

@at-wat
Copy link
Member

at-wat commented Mar 28, 2024

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.

@edaniels
Copy link
Member

I'm onboard with that. Also love using zap

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants