David Colburn
8e872881c1
use receiver lb threshold option
2021-07-22 21:52:56 -07:00
David Zhao
834dce543b
fix participant APIs when using LocalRouter ( #67 )
2021-07-22 11:06:23 -07:00
David Colburn
d7be9096c6
persist hidden field to startSession
2021-07-20 17:23:06 -07:00
David Colburn
4bab395ac9
Hidden participants ( #65 )
...
Enables hidden recording and/or forwarding participants
2021-07-19 18:33:28 -05:00
hn8
87dfb2b117
log: consistent log key ( #60 )
2021-07-19 10:28:51 -07:00
hn8
06c44ca8f6
feat: support UDP in TURN ( #61 )
...
1. Add UDP option to TURN
2. GetLocalIPAddress default to IPv4
2021-07-19 09:21:59 -07:00
David Zhao
c493022f0f
fix force_tcp flag: don't set UDPMux when enabled ( #62 )
2021-07-19 09:16:01 -07:00
hn8
99e9997d0a
feat: support SetLogger & SetLoggerFactory ( #57 )
...
* upgrade logr to stable release v1.0.0
* feat: support SetLogger & SetLoggerFactory
2021-07-18 21:28:09 -07:00
Andy Lindeman
7b05e2fb30
Propagate err2 if not nil ( #56 )
2021-07-17 10:14:52 -07:00
David Zhao
55eb654a1b
When adaptive-simulcast is used, allow subscribers to switch to the next available layer ( #55 )
2021-07-16 14:24:00 -07:00
David Colburn
e3fc3397ce
move cors to middleware ( #54 )
...
* move cors to middleware
* check for nil url
* remove snapshot
2021-07-15 18:36:54 -05:00
David Colburn
53bc65285c
connection validation
2021-07-15 14:23:17 -07:00
hn8
1ae7488fe3
feat: customize logger config ( #53 )
2021-07-15 12:33:48 -07:00
David Zhao
4ce29799cf
remove H.264 profile 42001f. Safari (14.1.1) does not playback tracks offered in this profile
2021-07-13 22:32:38 -07:00
David Zhao
53b52a67ca
use protobuf for clients with protocol > 1 ( #52 )
2021-07-13 22:28:34 -07:00
David Zhao
850fecf931
Allow publishers to set layer availability ( #51 )
...
* support client message to update active layers
* update to match new protocol
2021-07-13 21:35:08 -07:00
David Colburn
5fdb6361cd
Dev debug info ( #50 )
2021-07-13 14:05:25 -05:00
David Zhao
d38fc43b89
Lock room creation to ensure atomic creation & node assignment ( #46 )
...
* Lock room creation to ensure atomic creation & node assignment
* more tests
2021-07-12 14:50:14 -07:00
David Zhao
a80e8cf69f
Enable passing in local IP, refactored IP detection ( #48 )
...
* Enable passing in local IP, refactored IP detection
* update docker server instructions
2021-07-11 08:42:11 -07:00
David Colburn
50538db21f
update log keys
2021-07-09 10:49:21 -07:00
hn8
dcfe7eaf4f
Enhancement: audio speakers ( #44 )
...
* refactor: active speakers
1. Observe the loudest adjusted with active ratio instead of linear average of decibel values
2. Follow RFC6465 to convert audio level from decibel to linear value.
3. Quantize audio level for stable slice comparison
4. Switch moving average algorithm from MMA to EMA to have the same center of mass with SMA
5. Minor: remove seenSids map allocation
6. Minor: minimize division arithmetic
* Update pkg/rtc/audiolevel.go
Co-authored-by: David Zhao <david@davidzhao.com >
2021-07-09 09:46:24 -07:00
David Colburn
145f058eaa
send leave when client reconnects on server restart ( #43 )
2021-07-08 01:37:21 -05:00
David Colburn
3eba7fe25c
update twirp and pb
2021-07-06 19:30:06 -07:00
David Zhao
4ec2959950
Use discreet ports by default due to write bottleneck ( #40 )
2021-07-06 15:08:46 -07:00
David Zhao
1ced03d72f
fixed failing tests
2021-07-02 17:04:22 -07:00
David Zhao
6751361187
Feature: codec restrictions.
...
In order to ensure clients are publishing with compatible codecs, the server can enforce codec restrictions.
2021-07-02 16:54:54 -07:00
David Colburn
e543aaa98a
turn server tls ( #38 )
...
* tls
* acm
* use cert/key files
* turn -> turns
* turn cert config
* updates
* move panic
* tidy
* final updates
2021-07-01 17:00:49 -05:00
David Zhao
4e6eafa63c
for test environments, allow use of internal IP if external IP isn't available
2021-06-30 15:14:58 -07:00
David Colburn
b05da63fc3
send update on reconnect
2021-06-28 16:22:51 -07:00
David Zhao
083e7cc860
Reduce default PLI throttle values, ion-sfu resync fix
2021-06-28 15:49:17 -07:00
David Zhao
343aec98a0
Remove STUN candidates, disconnect clients on ICE failed
2021-06-28 12:47:16 -07:00
David Colburn
815fd5066d
remove unconnected participants after 1m
2021-06-26 18:38:44 -07:00
David Zhao
c0c38f2e1d
Fixed deadlocks with updated simulcast logic
2021-06-25 17:12:22 -07:00
David Colburn
871ecd0366
best quality if < 10 subs
2021-06-23 22:01:23 -07:00
David Zhao
d8b96ac2c8
Room API to support selective subscriptions
2021-06-23 14:12:51 -07:00
David Zhao
0c75924c73
increase subscription debounce interval
2021-06-23 12:44:40 -07:00
David Colburn
eda5cfbfd5
better pli throttling
2021-06-23 12:00:18 -07:00
David Colburn
0ffb8a97e4
rtcpThrottle -> pliThrottle
2021-06-22 15:00:27 -07:00
David Zhao
3b2b3a4929
debounce track settings API to match client usage pattern
2021-06-22 14:13:24 -07:00
David Zhao
bc8becaff6
fixed logic error in speaker updates
2021-06-22 00:35:33 -07:00
David Zhao
f0d8b1c7ee
fixed bug in smoothing algorithm, fixed tests
2021-06-21 22:18:18 -07:00
David Zhao
d69e9f451e
Smooth audio levels by averaging over samples.
2021-06-21 18:14:28 -07:00
David Colburn
eebc2f5acd
add throttle config
2021-06-21 17:13:58 -07:00
David Colburn
46ad247927
fix addTrack
2021-06-21 16:16:13 -07:00
David Colburn
31b4148052
don't send empty pkts
2021-06-21 15:54:42 -07:00
David Colburn
fee6f426bb
close rtcpThrottle
2021-06-21 15:30:18 -07:00
David Colburn
e4a460f30b
nil checks
2021-06-21 15:08:49 -07:00
David Colburn
ce3199b8b1
throttle
2021-06-21 14:57:26 -07:00
David Zhao
69290c535b
Send full update after joining when there are missed updates
2021-06-19 00:14:40 -07:00
David Zhao
38c81e5645
Support for video dimensions in publications ( #36 )
...
* send back video dimensions
* Store video dimensions in MediaTrack and forward in TrackInfo
* use committed protocol
2021-06-18 21:05:56 -07:00