cnderrauber
d9cd07c4b1
Return chosen codec for simulcast codecs ( #1624 )
...
* Return chosen codec for simulcast codecs
* Increase timeout for subscription test
2023-04-17 15:31:28 +08:00
Raja Subramanian
5d187523fa
Refactor NACK tracking in stream allocator ( #1623 )
...
* log some NACKs
* split out NACK tracker
* remove debug
2023-04-17 10:16:12 +05:30
cnderrauber
0ce3ba418f
Update pion to parse multiple simulcast sdp correctly ( #1621 )
2023-04-17 10:41:07 +08:00
Paul Wells
96f3aaa587
free signal join response to gc after forwarding ( #1619 )
2023-04-16 17:38:09 -07:00
Paul Wells
9c64d71e91
update message counter in signal relay ( #1620 )
2023-04-16 08:40:23 -07:00
Raja Subramanian
ce33d38b4f
Use current bit rate when calculating bandwidth needed. ( #1617 )
2023-04-15 18:50:18 +05:30
David Zhao
40ceddd18b
Integrate QueuedNotifier, fixes out-of-order delivery ( #1615 )
2023-04-15 01:20:23 -07:00
Raja Subramanian
e75b73af52
Use last received if lower. ( #1616 )
...
When detecting congestion based on loss, it is possible that
the loss based signal triggers earlier and the estimate based
signal is lagging. In those cases, check against last received
estimate and if that is lower than loss based throttling, use that.
Without this, it was possible that the current usage high.
Loss based throttling may not dial things back far enough to pause
the stream. Ideally, congestion should hit again and it should be dialled
down further and eventually pause, but there are situations it never
dials back far enough to pause.
2023-04-15 13:07:47 +05:30
Raja Subramanian
f54a103049
Do not let request layer overshoot available. ( #1614 )
...
* Do not let request layer overshoot available.
After a layer stopped on publisher side, an optimal allocation side
while initially adjusted to not request the stopped layer, a subsequent
allocation went back to the higher layer although it was stopped.
Prevent that.
* simplify
2023-04-15 11:51:28 +05:30
Jonas Schell
c223255b21
update readme ( #1610 )
2023-04-13 15:31:50 -07:00
renovate[bot]
7b347d6f4f
fix(deps): update module github.com/pion/transport/v2 to v2.1.0 ( #1602 )
...
Generated by renovateBot
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-13 15:13:23 -07:00
renovate[bot]
df963c3561
fix(deps): update go deps ( #1613 )
...
Generated by renovateBot
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-13 15:07:28 -07:00
Benjamin Pracht
843328125e
Do not use redis transactions for the egress APIs. Make sure all ingress related keys are on the same cluster slot. #1606
...
This will break existing ingress in redis.
2023-04-13 08:09:00 -10:00
Raja Subramanian
ac266fbcd6
Support subscriber_allow_pause connect option ( #1612 )
...
* Support subscriber_allow_pause connect option
* optional subscriber_allow_pause field
2023-04-13 17:00:32 +05:30
Raja Subramanian
d2bf8f0ba1
Support simulating subscriber bandwidth. ( #1609 )
...
* Support simualting subscriber bandwidth.
When non-zero, a full allocation is triggered.
Also, probes are stopped.
When set to zero, normal probing mechanism should catch up.
Adding `allowPause` override which can be a connection option.
* fix log
* allowPause in participant params
2023-04-13 13:59:24 +05:30
David Zhao
f8a94c2125
Fixed timing-related failures with tests ( #1608 )
2023-04-12 21:01:57 -07:00
David Zhao
4134965998
Integrate webhook retries ( #1607 )
2023-04-12 20:42:44 -07:00
Benjamin Pracht
c2f76b79fa
Validate IngressInfo, update the info if an ingress is active ( #1605 )
2023-04-12 13:27:57 -10:00
Raja Subramanian
69fb5e51a2
Fix stutter in forwarding path when using dependency descriptor ( #1600 )
...
* Decode chains
* clean up
* clean up
* decode targets only on publisher side
* comment out supported codecs
* fix test compile
* fix another test compile
* Adding TODO notes
* chainID -> chainIdx
* do not need to check for switch up point when using chains, as long as chain integrity is good, can switch
* more comments
* address comments
2023-04-12 17:30:54 +05:30
Jonas Schell
29e26931e0
readme manager initial setup ( #1581 )
...
* readme manager initial setup
This PR makes the README ready to be managed by the readme manager. It adds custom comment tags to the readme, which are invisible when the README is rendered, but tell the readme manager where to insert and update content.
* Update README.md
* Update README.md
2023-04-12 09:14:16 +02:00
David Zhao
6abe3b1aee
Adding logs when clients reconnect ( #1598 )
2023-04-10 21:26:16 -07:00
cnderrauber
c70a5c831f
Refine transport fallback for client resuming ( #1597 )
...
* reset fallback after ice restart
* Configure ice for reconnect before send response
2023-04-10 15:12:05 +08:00
Raja Subramanian
c56e37f3fe
Fix VP9 stutter in non-DD and some other misc changes ( #1595 )
...
* WIP commit
* WIP commit
* clean up
* remove todo
* fix test
2023-04-10 12:31:07 +05:30
Raja Subramanian
6e5e3bdcf3
Update signal relay config doc ( #1596 )
2023-04-10 11:00:29 +05:30
Paul Wells
eb095db70a
Batch signal retries ( #1593 )
...
* batch signal retries
* cleanup
* update protocol
* range check message dedup
* update protocol with codegen
* block while draining
* only log send timeouts
* cleanup
* cleanup
* cleanup
* typo
* update config yaml options
* update protocol
2023-04-09 18:18:21 -07:00
David Zhao
a12f467e7a
chore: added omitempty to optional config entries ( #1594 )
2023-04-09 17:51:33 -07:00
Raja Subramanian
48b2ea11c1
Forgot to transfer ddBytes ( #1592 )
2023-04-08 13:41:17 +05:30
Raja Subramanian
4969b57c09
Chaging VideoLayers -> VideoLayer ( #1591 )
...
There was mixed used. It is a struct. So, it is a singular.
Change all the places I could find. There may be more, but can be
changed when spotted.
2023-04-08 12:39:02 +05:30
David Zhao
e03f75d6a1
Implements source-specific permissions and client-driven metadata updates ( #1590 )
...
Closes #1565
2023-04-07 23:47:49 -07:00
Raja Subramanian
e32eaa451f
Refactor video layer selector ( #1588 )
...
* WIP commit
* WIP commit
* fix test
* FPS for VP9
* WIP commit
* test changes
* WIP commit
* h264
* codec munger
* forwarder state
* clean up a bit
* dd interface
* WIP commit
* WIP commit
* WIP commit
* WIP commit
* more TODO notes
* overshoot interface
* clean up
* clean up isTemporalSupported
* wait for key frame to resume
* clean up VP8 payload descriptor stuff
* temporal layer selector
* comment out vp9 and av1
* space
* fix test compile
* append bytes
* fix tests
* fix test
2023-04-08 10:57:57 +05:30
David Zhao
57b931e9bd
Fix return code when no panics have occurred ( #1589 )
...
Actually fix #1513
2023-04-07 19:54:30 -07:00
cnderrauber
fb301e6e75
Add vp9 svc support by Dependency Descriptor ( #1586 )
...
* Add VP9 SVC support
* Fix preferred fps does not work
* Fix forwarder test
2023-04-06 21:51:33 +08:00
Paul Wells
2b16589b79
Version 1.4.1 ( #1585 )
...
* Version 1.4.1
* fix change description
v1.4.1
2023-04-05 21:43:25 -07:00
Paul Wells
6b0cb33c53
set participant node for redis router in signal service ( #1584 )
2023-04-05 16:08:25 -07:00
Paul Wells
234f7ea5cb
read batched signal messages ( #1583 )
...
* batch signal messages
* update protcol
2023-04-05 14:41:52 -07:00
Paul Wells
5552062228
drain signal stream before closing ( #1582 )
...
* drain signal stream before closing
* update psrpc
* cleanup
2023-04-05 12:29:52 -07:00
Paul Wells
6636e37664
add prometheus psrpc metrics observer ( #1571 )
...
* add prometheus psrpc metrics observer
* record rpc error counts
* update psrpc
* update protocol
2023-04-05 03:50:43 -07:00
Paul Wells
5564bc531f
write signal messages from media without blocking ( #1580 )
2023-04-05 03:42:59 -07:00
David Zhao
fc6a306031
Create a helper for retrieving a user's actual IP ( #1579 )
2023-04-04 19:32:49 -07:00
Raja Subramanian
793e61ac14
Use bandwidth requested from last allocation. ( #1577 )
...
* Use bandwidth requested from last allocation.
With overshoot/opportunistic forwarding, It is possible that
bitrate at target layers is 0. So, use bandwidth requested
from last allocation which shouold have a correct value.
Still need to think about using the latest bit rates to get
the requested bandwidth. It is possible that bitrates have
changed since last allocation. That was the idea behind using
the latest bitrates, but it could return 0. Accounting for it
runs into a few scenarios. Last allocation has number from
last allocation and is a good indicator of the need.
* race
2023-04-04 09:58:57 +05:30
cnderrauber
8cfba1308b
Add test case for munged sdp ( #1574 )
...
* Add test case for munged sdp
* clean code
2023-04-04 09:28:47 +08:00
David Zhao
1cb6cc3ed7
Do not sample per participant to reduce memory usage ( #1576 )
2023-04-03 15:24:53 -07:00
renovate[bot]
31427f7594
Update module github.com/redis/go-redis/v9 to v9.0.3 ( #1572 )
...
Generated by renovateBot
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-02 13:43:05 -07:00
Paul Wells
1b09fc9721
fix panic in rtpstats ( #1570 )
2023-04-01 12:39:13 -07:00
David Zhao
602f987ed7
Switch up ordering DTLS elliptic curves to reduce likelihood of filtering ( #1568 )
...
tl;dr. Pion-based traffic is impacted because TOR Snowflake uses Pion
https://github.com/pion/dtls/pull/474
2023-03-31 22:47:23 -07:00
David Zhao
8be2b88ff6
Config docs for signal relay ( #1566 )
2023-03-31 18:28:15 -07:00
Paul Wells
c45e23be3f
store participant res sink in interface typed field ( #1567 )
2023-03-31 00:45:50 -07:00
David Zhao
b5b896a6c6
Version 1.4.0 ( #1564 )
v1.4.0
2023-03-30 23:16:36 -07:00
David Zhao
82fd3e865e
Fix deadlock caused by subscription manager test ( #1563 )
...
We held the lock if subscription length check fails
2023-03-30 17:10:32 -07:00
Raja Subramanian
59961c1992
Aggregate method for RTPDeltaInfo ( #1562 )
2023-03-30 13:34:52 +05:30