Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: zoops/webrtc

Tags

v3.1.5

Toggle v3.1.5's commit message
Fix typo in f5840a

When filtering SSRCes we were running the filter operation on the source
slice and not the filtered slice. Causing us to ignore all the filter
operations that had been previously run.

v3.1.4

Toggle v3.1.4's commit message
Fix Simulcast + non-simulcast remote tracks

Problem:
--------
In the following negotiation sequence, the Simulcast track is lost.
1. Remote Offer with Simulcast tracks with rids
2. A new track added to Remote Offer with tracks using SSRCs

When the updated `offer` is received, the Simulcast transceiver's
receiver gets overwritten because the tracks from SDP is compared
against current transceivers. The current transceiver for the
Simulcast track already had SSRCs set as media has been received.
But, tracks read from the SDP only has `rid`. So, no current
transceiver matches and hence a new receiver is created which
clobeers the good Simulcast receiver.

Fix:
----
- Prioritize search by `rid`.
- Also found a case of a loop where the index was missing entries
in the loop. Fix it.

Testing:
--------
- The above case works

v3.1.3

Toggle v3.1.3's commit message
Use transceiver's codec in getCodecs

Issue:
------
A transceiver's codecs can be modified using `SetCodecPreferences`.
When retrieving codecs from the transceiver after changing codec
preferences of the transceiver (for example changing the SDPFmtpLine),
the filter function was using codec from the media engine. Thus,
the change from `SetCodecPreferences` is lost.

Fix:
----
- When a match is found (either exact or partial), use the codec from
the transceiver instead of media engine.
- Based on feedback, add checks to ensure that PayloadType is not
set incorrectly (i. e. set with a default of 0). If it is set to 0,
use the PayloadType from the media engine, i. e. negotiated value.

Testing:
--------
- Modify SDPFmtpLine of a codec of a transceiver using
`SetCodecPreferences` method of `RTPTransceiver`.
- Invoke `GetParamters` of `RTPREceiver` and ensure that `Codecs`
has the SDPFmtpLine modification. Before this change the change
was not reflected in the returned `Codecs`.
- Check that SDP has payload from codec set via SetCodecPreferences

v3.1.2

Toggle v3.1.2's commit message
Handle non-Simulcast Repair Streams

Same issue with TWCC enabled as 11b887. We need to process the
RTX packets so that we can emit proper reports.

v3.1.1

Toggle v3.1.1's commit message
Revert "Make RTPTransceiver Stopped an atomic"

This reverts commit 6c36200.
This commit would cause sender.ReadRTCP() to never return
even when pc associated with this sender was closed.
The aftermath is leaked goroutines that will never stop.

v3.1.0

Toggle v3.1.0's commit message
Add InterceptorFactory

Interceptors are being accidentally misused by users.
The issue is that an Interceptor can be re-used between
multiple PeerConnections. Interceptors were designed to only be
single PeerConnection aware, so state is being corrupted.

Instead we are now going to provide InterceptorFactories. The default
API of pion/webrtc will now be safe to use between PeerConnections.

Resolves webrtc#1956

v3.1.0-beta.10

Toggle v3.1.0-beta.10's commit message
Add InterceptorFactory

Interceptors are being accidentally misused by users.
The issue is that an Interceptor can be re-used between
multiple PeerConnections. Interceptors were designed to only be
single PeerConnection aware, so state is being corrupted.

Instead we are now going to provide InterceptorFactories. The default
API of pion/webrtc will now be safe to use between PeerConnections.

Resolves webrtc#1956

v3.1.0-beta.9

Toggle v3.1.0-beta.9's commit message
Fix filterTrackWithSSRC

This function would only consider tracks with at least one SSRC
assigned. If it processed a RID based track it would discard it.

v3.1.0-beta.8

Toggle v3.1.0-beta.8's commit message
Enable TWCC by default

Add functions to configure TWCC reports and TWCC header extensions.
Only TWCC reports are enabled by default, because there is no Congestion
Controller available to handle reports from a remote peer, yet.

v3.1.0-beta.7

Toggle v3.1.0-beta.7's commit message
Fix double loop in data channel ID generation

(*SCTPTransport).generateAndSetDataChannelID performed a double loop to
find the next available data channel ID. This changes that behavior to
generate a lookup map with the taken IDs first, so generating a data
channel ID takes much less time.

Before, it would take more than 1000ms to generate the next data channel
ID once you had roughly 50k of them. Now it only takes 4ms at that same
point.

Fixes pion#1945