Paul Wells
e03b7ef8de
start signal relay sessions with the correct node ( #1721 )
...
* start signal relay sessions with the correct node
* enable signal relay in multiregion integration test
2023-05-18 12:39:02 -07:00
David Colburn
c3d6ecca6e
check egress status on UpdateStream failure ( #1716 )
2023-05-17 16:46:22 -07:00
Benjamin Pracht
4244542840
Adopt WebRTCConfig from mediatransportutil ( #1707 )
...
This also adds support for inline fields in ToCLIFlagNames
2023-05-10 20:00:34 -07:00
David Colburn
0a3c22993e
Remove deprecated egress client ( #1701 )
...
* remove deprecated egress client
* don't copy mutex
2023-05-09 16:54:32 -07:00
Raja Subramanian
3fb93135f5
Experimental flag to try time stamp adjustment to control drift. ( #1687 )
...
* Experimental flag to try time stamp adjustment to control drift.
There is a config to enable this.
Using a PID controller to try and keep the sample rate at expected
value. Need to be seen if this works well. Adjustment are limited
to 25 ms max at a time to ensure there are no large jumps.
And it is applied when doing RTCP sender report which happens
once in 5 seconds currently for both audio and video tracks.
A nice introduction to PID controllers - https://alphaville.github.io/qub/pid-101/#/
Implementation borrowed from - https://github.com/pms67/PID
A few things TODO
1. PID controller tuning is a process. Have picked values from test from
that implementation above. May not be the best. Need to try.
2. Can potentially run this more often. Rather than running it only when
running RTCP sender report (which is once in 5 seconds now), can
potentially run it every second and limit the amount of change to
something like 10 ms max.
* remove unused variable
* debug log a bit more
2023-05-06 11:52:57 +05:30
David Zhao
5fcd682fb0
Refactor participant metadata updates to avoid duplication ( #1679 )
...
* Refactor participant metadata updates to avoid duplication
* generated fakes
2023-05-03 13:50:45 -07:00
Benjamin Pracht
11749eace9
Add support for creating WHIP ingress ( #1674 )
2023-05-02 13:26:47 -07:00
Raja Subramanian
35b8319b08
Remove disallowed subscriptions on close. ( #1668 )
...
With subscription manager, there is no need to tell a publisher
about a subscriber going away. Before subscription manager,
the up track manager of a participant (i. e. the publisher side)
was holding a list of pending subscriptions for its published tracks
and that had to be cleaned up if one of the subscriber goes away.
That is not the case any more.
Also set publisherID early so that subscription permission update has
the right publisherID. In fact, saw an empty ID in the logs and saw
that we still have the disallowed subscription handling which is not
necessary any more.
2023-04-29 09:18:07 +05:30
Benjamin Pracht
a08cd23b6d
Adopt pion logging initialization moving to protocol ( #1667 )
2023-04-28 10:51:41 -07:00
Paul Wells
fc09cacfce
increase level for signal stream closed log messages ( #1660 )
...
* increase level for signal stream closed log messages
* ensure stream closes on signal close receipt
* cleanup
2023-04-27 08:30:40 -07:00
Paul Wells
f9f89cd7cf
close signal with reliable message ( #1658 )
...
* close signal with reliable message
* update protocol
2023-04-26 22:59:39 -07:00
David Zhao
3f64828a77
Send Room updates when participant counts change ( #1647 )
...
Reduces the number of unneeded generation with ProtoProxy
2023-04-22 21:08:59 -07:00
Paul Wells
a77eb2a07d
add room node assignment check to signal relay ( #1645 )
2023-04-22 07:05:07 -07:00
David Colburn
ab6c994db4
update protocol/psrpc ( #1643 )
...
* update protocol/psrpc
* metadata references
2023-04-21 12:43:20 -07:00
Paul Wells
70041f004f
create signalStats from out of order join ( #1640 )
2023-04-20 03:27:41 -07:00
cnderrauber
09af509edb
Add subscription limits ( #1629 )
...
* Add subscription limits
* Add limit to ParticipantParams
* Don't change desired of subscription when reaching limits
* Add subscription limits config
* Revert comment
* solve comments
2023-04-20 14:15:30 +08:00
Paul Wells
96f3aaa587
free signal join response to gc after forwarding ( #1619 )
2023-04-16 17:38:09 -07:00
David Zhao
40ceddd18b
Integrate QueuedNotifier, fixes out-of-order delivery ( #1615 )
2023-04-15 01:20:23 -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
Benjamin Pracht
c2f76b79fa
Validate IngressInfo, update the info if an ingress is active ( #1605 )
2023-04-12 13:27:57 -10:00
David Zhao
6abe3b1aee
Adding logs when clients reconnect ( #1598 )
2023-04-10 21:26:16 -07:00
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
e03f75d6a1
Implements source-specific permissions and client-driven metadata updates ( #1590 )
...
Closes #1565
2023-04-07 23:47:49 -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
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
David Colburn
108b251045
egress updated webhook ( #1555 )
2023-03-27 16:34:44 -07:00
davidliu
f05a3a047a
add handling for react native and rust sdk client infos ( #1544 )
2023-03-25 01:27:37 +09:00
David Colburn
191a9e8014
update core to 0.0.5 ( #1540 )
...
* update core
* sort imports
* fix typos
* redundant types
2023-03-22 16:53:23 -07:00
David Colburn
e8c7506d60
update deprecated egress client warning ( #1533 )
2023-03-20 13:46:47 -07:00
David Colburn
b23a0e7f39
add active filter to ListEgress ( #1517 )
...
* add active filter to ListEgress
* update test
* missed a filter
2023-03-14 13:07:00 -07:00
Paul Wells
54bf7e0dac
allow configuring signal message buffer size ( #1504 )
...
* allow configuring signal message buffer size
* update psrpc
2023-03-08 17:34:14 -08:00
Paul Wells
2c93d55e5c
add stream retry middleware for signalling ( #1503 )
2023-03-08 00:51:19 -08:00
cnderrauber
11ae7fdbb6
Don't switch candidate if signal closed when pc failed ( #1498 )
...
* Don't switch candidate if signal closed when pc failed
* change comment
* test case
2023-03-08 15:16:40 +08:00
lukasIO
958d2f8284
Add topics to data channel messages ( #1489 )
...
* Add topics to data channel messages
* update protocol
2023-03-07 10:41:37 +01:00
Paul Wells
e22de045ba
add signal psrpc service ( #1485 )
...
* add signal psrpc service
* update protocol dep
* refactor for cloud
* update psrpc
* pr feedback
2023-03-03 15:49:46 -08:00
Benjamin Pracht
17ae1506f5
Chain twirpLogger and twirpRequestStatusHook properly for the Egress server ( #1470 )
2023-02-25 15:15:50 -07:00
David Colburn
3ac2a35c23
check nil video grants ( #1463 )
2023-02-23 11:30:59 -08:00
Haiyang Wang
15a9ad2b7a
fix: unable to notify webhook when egress ending with status EgressStatus_EGRESS_LIMIT_REACHED ( #1451 )
2023-02-22 12:04:26 -08:00
Paul Wells
b35d64ae86
finish timed version migration ( #1443 )
...
* finish timed version migration
* update protocol dep
2023-02-18 12:08:08 -08:00
David Colburn
6da9e85636
Remove deprecated ingress rpc ( #1439 )
...
* remove legacy ingress rpcs
* remove from io service
2023-02-17 11:40:38 -08:00
Raja Subramanian
14a94fe693
Fix panic when closing room ( #1428 )
2023-02-16 11:59:13 +05:30
David Colburn
10c53e0ebb
Move psrpc to protocol ( #1426 )
...
* move psrpc to protocol
* update checks
* update protocol
* update protocol ref
* blank line
2023-02-15 16:47:38 -08:00
David Colburn
c133b9f2e3
fix panic when output is missing ( #1420 )
2023-02-14 10:23:46 -08:00
David Zhao
ea12e1477f
Update to go-redis v9. Fixed Redis cluster support ( #1415 )
...
* Update to go-redis v9. Fixed Redis cluster support
2023-02-12 22:22:21 -08:00
Raja Subramanian
2006359a97
move SDP to Debugw ( #1413 )
2023-02-12 22:56:43 +05:30