-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Jam changes #2917
Closed
Closed
Jam changes #2917
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Generate answer to match group bundle in offer
This reverts commit ea23dec.
If probing was still in flight closing the PeerConnection would not interupt it properly. cherry-pick of b549c95
Take copy of bufferedAmountLowThreshold and onBufferedAmountLow. This allows us to this later without holding the lock.
Use latest releases
This PR addresses an issue where calling RTPSender.ReplaceTrack with a nil parameter on a sender with more than 1 encoding (simulcast) would only cause the 1st encoding to be unbound, breaking common publisher reconnection workflows with simulcast enabled.
Answer to paused simucalst stream correctly
Skip padding packet for simulcast probe Fix rtx attributes panic for nil map
Fix data race of RTX packet
Always handle header extensions from packet read from interceptor, let interceptor has consistent chance to process headers Fix rtx is not negotiated when there is multiple codecs has same mime but different profile (H264) Fix rtx stream info missed when SSRC group attr shows after base track's ssrc attr.
SampleBuilder.PopWithTimestamp() will be removed in v4. Use Sample.PacketTimestamp field instead.
Old versions of Pion break against it
Chrome doesn't include the msid when responding to recvonly transceivers See crbug[0] for discussion [0] https://issues.chromium.org/u/1/issues/328522463
The SCTP implementation used in v3.2.28 fails to establish a connection with other WebRTC implementations. The implementation of ZeroChecksum assumes incorrectly that the feature is bi-directional SCTP ZeroChecksum is actually a uni-directional feature which causes the Assocations to be unable to communicate.
With f53f0a9 1.17 and above is now supported
To add padding-only samples call GeneratePadding
- Removes non-canon logic
Don't block Close on spawned goroutines
Firefox would send updated header extension in renegotiation, e.g. publish a track without simucalst then renegotiate second track with simucalst, the two media secontions will have different rtp header extensions in offer. Need to match remote header extentions for each media sections to avoid second track publish failed.
libwebrtc has started sending media probes on an unannounced SSRC(0). Currently Pion will ignore this as the SSRC hasn't been declared explicitly and no RID/MID RTP Headers. This adds a special case to accept SSRC 0 and Read the RTP packets. This allows the TWCC reports to properly be generated.
SSRC of 0 is consumed by probing
Added support for SRTP_NULL_HMAC_SHA1_80 protection profile (cipher). It is disabled by default. You need to use SettingEngine and set list of allowed SRTP protection profiles using its SetSRTPProtectionProfiles function called with dtls.SRTP_NULL_HMAC_SHA1_80 as a parameter. You need to do this for both pion peers. For non-pion ones you may need to enable it somewhere too, as NULL cipher is usually disabled for security reasons.
handleIncomingSSRC will call streamsForSSRC which opens rtp/rtcp streams that if unhandled can be leaked resources. Now we will proactively open them before calling handleIncomingSSRC and close then later. In the future it would be better to do this inside handleIncomingSSRC to protect other callers.
Fix pion#2830. The TrackRemote.Read could block in readRTP if the buffer is empty then rtx packets arrival before next media rtp packet will be readed after the next media rtp packet and cause out-of-order fb and mess up remote peer's bandwidth estimation.
Resolves pion#2841
Map iteration order is not guaranteed by Go, so it's an error to iterate over a map in places where maintaining the same ordering is important. This change replaces the map of simulcastRid{} with an array of the same type. The simulcastRid{} type is extended to hold the rid-id which previously was used as the key in the map. Accesses to the map are replaced with range loops to find the desired rid-id for each case. Fixes pion#2838
This reverts commit 887b10f.
Should not reuse transceiver (remove & add track) in one round negotiation, it cause the transceiver changes ssrc/id without transit to inactive and the remote peer connection can't fire track close and OnTrack event.
Returning the object with stat id is useful when cross-referencing stats.
@jtestard Are you still interested in improving FlexFEC support? Do you have all the APIs you need? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Reference issue
Fixes #...