David Colburn
7bbd238188
clean up logs and imports ( #400 )
2022-02-03 14:20:19 -07:00
David Zhao
a8d43aab67
Uses IceLite only for protocol 6 clients ( #397 )
...
* Update to Pion v3.1.20, with fixes DTLS role ambiguity
* Gate ice-lite on protocol version
Co-authored-by: boks1971 <raja.gobi@tutanota.com >
2022-02-02 21:16:08 -08:00
Raja Subramanian
ede39fe87f
Disable SRTP replay protection ( #396 )
2022-02-02 16:31:07 +05:30
Raja Subramanian
e22f47b416
Split out stream tracker manager ( #394 )
...
* Random clean up
* Split out StreamTrackerManager for re-use
* Reset the correct tracker
* use generation counter to exit coroutine
* start only for video and when enabled
* Add RemoveAllTrackers method
2022-02-01 13:24:42 +05:30
Raja Subramanian
247807b2cc
Use an atomic flag to stop stream allocator ( #395 )
...
* Use an atomic flag to stop stream allocator
* use a mutex for event channel
* RLock while posting event
* lock isStopped flag to prevent posting to closed channel
2022-02-01 12:41:37 +05:30
Raja Subramanian
0574803be8
Random clean up ( #392 )
2022-02-01 08:57:34 +05:30
Raja Subramanian
9db2bd22df
LK logger with context in SFU ( #391 )
...
* LK logger with context in SFU
* Move buff.SetLogger into sfu.WebRTCReceiver
2022-02-01 08:57:09 +05:30
David Colburn
3d132730f9
replace entire nodeStats object ( #393 )
2022-01-31 17:09:36 -07:00
Raja Subramanian
745939ec24
Smoother dynacast transition ( #390 )
2022-01-31 07:47:24 +05:30
Raja Subramanian
a1f88faed1
Add a resync API to sfu.DownTrack ( #389 )
...
* Add a resync API to sfu.DownTrack
Also passing in logger with context into sfu package. More to do here
with proper logging context in all modules, but this is a start
* Remove debug code
* fix tests
2022-01-30 10:59:47 +05:30
shishirng
7ac3631b6c
Get clients remote address from request ( #385 )
...
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-01-29 10:51:21 -05:00
Raja Subramanian
3bfdb2523e
Catch some instances of traversing map outside lock ( #388 )
...
* one more place, do not range over map outside lock
* Catch one more location
* Catching a couple of more places
2022-01-29 20:14:36 +05:30
David Zhao
3430650d3e
Server-side parsing of UserAgent ( #387 )
2022-01-29 00:52:06 -08:00
David Zhao
6af6eefb8c
Improve readability of test failures ( #386 )
2022-01-28 21:34:21 -08:00
Raja Subramanian
5b57522c05
Refactoring connection stats ( #384 )
2022-01-29 00:55:00 +05:30
David Zhao
9747243ce2
Honor autoSubscribe when subscription permissions are granted later ( #381 )
...
* Ensure autosubscribe is honored when subscription permissions were granted later
* negotiate even if no media has been added
* don't double-negotiate
2022-01-28 09:55:10 -08:00
cnderrauber
30c175e9a7
change vp8 blank frame to 8x8 ( #382 )
...
* change vp8 blank frame to 8x8
* rename
2022-01-28 23:03:03 +08:00
Raja Subramanian
f962fef2c8
Apply subscribed track settsings on add ( #379 )
2022-01-28 08:34:13 +05:30
shishirng
1e156025b4
Store client meta on participant join ( #380 )
...
* Store client meta on participant join
capture region, time_to_connect, ip, node
Signed-off-by: shishir gowda <shishir@livekit.io >
* Update proto dep
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-01-27 15:44:03 -05:00
shishirng
26eea78b54
Telemetry connection scores ( #377 )
...
* octets - total bytes needs to be uint64
uint32 wraps at 4GB
Signed-off-by: shishir gowda <shishir@livekit.io >
* Cleanup stats handler to use connectionQuality stats
remove per packet rtcp handlers, buffer stats
* cleanup connection stats
* Update mediatrack to store rtcp stats in connection stats
* Update downstream handling of connection stats and telemetry
* Update telemetry tests
Signed-off-by: shishir gowda <shishir@livekit.io >
* Misc fixes
Signed-off-by: shishir gowda <shishir@livekit.io >
* Minor fix to avoid accessing buffer before its allocated
Signed-off-by: shishir gowda <shishir@livekit.io >
* start updateStats worker in AddReciever()
Signed-off-by: shishir gowda <shishir@livekit.io >
* Use previous score to calculate avg scores
* Restructure connectionStats
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-01-27 11:24:54 -05:00
David Colburn
32825d2666
clean up WriteRoomRTC ( #378 )
...
* clean up WriteRoomRTC
* regenerate
2022-01-26 19:12:39 -07:00
David Zhao
69116a57fc
Correctly use writeParticipantMessage for APIs ( #376 )
2022-01-26 00:26:42 -08:00
Raja Subramanian
45b07e2b3f
Add trackID to logger context ( #375 )
2022-01-26 13:23:38 +05:30
Raja Subramanian
44afa8bae1
Delete down track on close ( #374 )
...
Note that it is called from Unbind also (previous behaviour). It should
be fine as long as there is no new down track for the same peer added
between close calling it and unbind calling it.
2022-01-26 13:22:39 +05:30
David Colburn
c92e0e38d5
Room closed fix ( #370 )
...
* Room closed fix
* switch to uber/atomic
* release after err check
2022-01-25 09:23:22 -07:00
Raja Subramanian
bb26109096
Add a method to clear receiver. ( #372 )
...
With remote media track receiver starting/stopping/restarting possibly,
receiver should be cleared when stopped and will be re-initialized when
it is restarted.
2022-01-25 18:08:41 +05:30
cnderrauber
b2cb93d9a4
fix concurrency problem ( #369 )
2022-01-25 16:13:52 +08:00
David Colburn
e7e3fcac43
remove duplicate IsRecorder
2022-01-24 20:51:57 -07:00
David Colburn
627a93298e
IsRecorder ( #368 )
...
* IsRecorder
* regenerate fakes
2022-01-24 18:22:10 -07:00
shishirng
56ebd521f9
Telemetry capture published track updates ( #367 )
...
* Telemetry capture published track updates
Signed-off-by: shishir gowda <shishir@livekit.io >
* Updated OnVideoLayerUpdate to take slice of layers
Signed-off-by: shishir gowda <shishir@livekit.io >
* Update proto dep
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-01-24 14:38:04 -05:00
cnderrauber
90b97137c9
fix migrate state of subscribe only client ( #366 )
2022-01-24 17:03:24 +08:00
David Zhao
52fc53d325
Issue updated tokens to clients. ( #365 )
...
This ensures client reconnect attempts would be successful for long running rooms. It also fixes inaccurate permissions that were set incorrectly when full reconnections take place.
2022-01-23 23:15:49 -08:00
Raja Subramanian
6a46958870
Some receiver clean up ( #364 )
2022-01-23 08:22:39 +05:30
Raja Subramanian
d1848ab218
Rename UpdateSubscriptionPermissions -> SubscriptionPermission and other renaming ( #363 )
...
* Store subscription permission in DB
* Comment out subscription permission to DB
* WIP commit
* Clean up
* clean up
* Latest protocol
2022-01-22 12:16:15 +05:30
David Zhao
f9a1dd97c2
Ensure RoomService operation is complete prior to returning ( #362 )
...
* Ensure service doesn't return before operation is complete
* added integration tests for RoomService
2022-01-21 11:00:33 -08:00
David Zhao
126bb8867b
Ability to disable auto-create ( #361 )
...
* setting to disable autocreate
* improve test reliability
* update comment
* update to address feedback
2022-01-21 09:57:36 -08:00
Raja Subramanian
7f4ead9b25
Fire onNoSubscribers callback in only one place. ( #360 )
...
While reworking some cloud code, this is getting fired multiple times
(in RemoveAllSubscriber and in the callback). So, it causes some
errors in the logs. Fire it only from one place.
2022-01-21 11:16:54 +05:30
cnderrauber
2886ab1e39
RemoveSubscriber through pariticipant ( #359 )
2022-01-21 12:32:26 +08:00
Raja Subramanian
3d56b7c7f3
Adjustments to allow permissions migration. ( #356 )
...
* Adjustments to allow permissions migration.
* Fix tests
2022-01-21 09:43:59 +05:30
shishirng
829e183863
pass client info object in participant joined request ( #358 )
...
* pass client info object in participant joined request
Signed-off-by: shishir gowda <shishir@livekit.io >
* Update tests
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-01-20 15:29:34 -05:00
Raja Subramanian
4e4ad102f7
move stop timer in mediatracksubscriptions module where it belongs ( #357 )
...
* move stop timer in mediatracksubscriptions module where it belongs
* Correct my screw up
2022-01-21 00:50:48 +05:30
Raja Subramanian
e4e292d988
Do not send connection quality when participant is not active. ( #354 )
...
* Do not send connection quality when participant is not active.
Some times when the connection takes a while (in a long delay network
on Safari for example), connection quality arrives before connectivity.
* Do not calculate connection quality of unconnected participants
2022-01-19 23:18:55 +05:30
Raja Subramanian
0178a004dd
Compile in send-side bandwidth estimation. ( #351 )
...
Still not using it. But, now that Pion has merged the initial
version of GCC (Google Congestion Control) for send side bandwidth
estimation, we can integrate it.
We will enable once we have tested and feel comfortable.
2022-01-19 22:36:41 +05:30
cnderrauber
0acb0a9d66
don't send black screen when Track be resumed ( #352 )
...
* don't send black screen when Track be resumed
* default flush
2022-01-19 18:14:38 +08:00
David Colburn
5bea9debb7
Code cleanup ( #353 )
2022-01-19 02:13:06 -08:00
Raja Subramanian
10714b3f6d
Adjust interfaces to better work with cloud ( #349 )
...
* Adjust interfaces to better work with cloud
* force argument to quality update
2022-01-19 10:28:55 +05:30
cnderrauber
8a5f26b064
refine reuse transceiver ( #348 )
2022-01-19 10:24:29 +08:00
David Zhao
88cad8f093
Generate cleaner configs ( #347 )
...
Also upgrade to v1.17 for docker builds
2022-01-17 23:54:04 -08:00
Raja Subramanian
0e74ce89c5
Update pion/webrtc ( #346 )
...
Also use DTLSRoleServer in publisher peer connection to get around
potentially a Chrome browser issue in long latency links.
2022-01-18 11:26:57 +05:30
Raja Subramanian
f662119ca4
Add roomID to logger util ( #345 )
2022-01-17 16:36:10 +05:30