David Zhao
614ede2edc
Supports client protocol 3 - subscriber as primary ( #110 )
...
* use subscriber connection as primary whenever possible
* backwards compat for data messages
* bump protocol version
2021-09-09 00:53:15 -07:00
David Colburn
2a3fb5f0e7
move logging to protocol ( #109 )
2021-09-09 00:45:42 -07:00
David Colburn
e9ffbefa70
move recorder to msg bus ( #108 )
2021-09-02 17:06:48 -05:00
David Zhao
e82d50d717
Send explicit message to clients for mute/unmute. ( #107 )
...
* Send explicit message to clients for mute/unmute.
* documentation in config
2021-09-01 21:50:02 -07:00
David Colburn
4044c314b8
participant key ( #106 )
...
* participant key
* update fake router
* WriteRTCMessage
* move sink closing
* unused code
2021-08-31 16:14:06 -05:00
David Colburn
eb6e763e8d
use request context in rtc service
2021-08-30 23:27:04 -07:00
David Colburn
1f1eea383f
add ctx to interfaces ( #105 )
...
* add ctx to interfaces
* use existing context
2021-08-30 20:31:24 -05:00
David Colburn
2fd61531d2
small refactor ( #104 )
2021-08-30 18:22:11 -05:00
David Colburn
0bfd05c3b8
move router room manager link ( #103 )
2021-08-30 17:18:18 -05:00
David Colburn
69c1d4c295
Interfaces ( #97 )
...
* create interface
* move room manager to interface
* interfaces
* updates
* fix loop
* fix fakes
* remove node types
2021-08-28 18:28:08 -05:00
David Colburn
8a44fad307
protocol 0.8 ( #95 )
...
* protocol 0.8
* merge new selector
2021-08-27 13:16:33 -05:00
Mathew Kamkar
c437152e2b
NodeSelector using system load metric ( #94 )
...
* use load when selecting nodes
* Apply suggestions from code review
Co-authored-by: David Zhao <david@davidzhao.com >
* sysload selector test
* wire nodeSelectorFromConfig
* fix tests
* Update pkg/routing/selectorsystemload_test.go
Co-authored-by: David Zhao <david@davidzhao.com >
* dz review: nits
Co-authored-by: David Zhao <david@davidzhao.com >
2021-08-26 15:24:39 -07:00
David Colburn
b95701c7da
update protocol
2021-08-25 13:42:02 -07:00
Mathew Kamkar
f5466c74e6
list-nodes command action ( #87 )
...
* list-nodes command action
* refactor stats into a package
* store existing stats in redis, more refactoring
* dz review: atomic load
2021-08-24 10:14:39 -07:00
PJC
9016da1936
check turn domain and port range ( #90 )
...
* check negative turn port
* check turn domain
* domain check test code
2021-08-23 10:49:16 -07:00
David Zhao
bcf6e15e07
SendData API & publishData permission ( #88 )
...
* SendData Server API
* SendData Server-API adjustments based on suggestions
* Update proto version
* enforce publishData permission
* go mod tidy
* fix go.mod
* go mod tidy
Co-authored-by: ChesterMing <89124853+ChesterMing@users.noreply.github.com >
2021-08-19 18:11:48 -07:00
David Zhao
29edf4e8d9
Improve dynamic simulcast, properly cleanup after pendingTracks ( #84 )
2021-08-13 15:49:25 -07:00
David Zhao
6fe0d4bafc
webhook type -> event
2021-08-09 23:37:01 -07:00
David Zhao
9495646f1a
webhooks support ( #81 )
2021-08-09 09:57:37 -07:00
David Colburn
1f4288744c
upgrade protocol
2021-08-06 16:02:49 -07:00
David Colburn
6111b2d4f8
Recording apis ( #78 )
...
* apis with auth
* recording service
* record permission
* protocol 0.6.5
* bump version
2021-08-04 22:44:06 -05:00
David Colburn
a53deecb82
revert recording apis
2021-08-03 00:19:19 -07:00
David Zhao
a9c4851113
Fix external IP discovery. fix LeaveRequest during server disconnect ( #72 )
2021-07-28 21:33:34 -07:00
David Colburn
b00d5a02cb
RoomRecorder ( #70 )
2021-07-27 00:39:48 -05:00
David Zhao
f8782fae3f
Send stun servers to clients ( #69 )
...
* Send stun servers to clients
* use TURN/UDP as STUN servers
2021-07-26 15:43:26 -07:00
David Zhao
834dce543b
fix participant APIs when using LocalRouter ( #67 )
2021-07-22 11:06:23 -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
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 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
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
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 Colburn
b05da63fc3
send update on reconnect
2021-06-28 16:22:51 -07:00
David Zhao
d8b96ac2c8
Room API to support selective subscriptions
2021-06-23 14:12:51 -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
f0d8b1c7ee
fixed bug in smoothing algorithm, fixed tests
2021-06-21 22:18:18 -07:00