Raja Subramanian
b0e470cd59
Return time since last PLI properly ( #507 )
2022-03-12 13:15:01 +05:30
Raja Subramanian
4e24df4200
Move RTPStats -> OSS ( #506 )
2022-03-12 11:21:05 +05:30
Raja Subramanian
80bd45f061
Some clean up ( #505 )
...
* WIP commit
* Refactor NTP time
* Clean up
* Update lk protocol
2022-03-11 22:40:49 +05:30
cnderrauber
a5fa54853f
fix potential nil rtcp packets cause rtcpSendWorker exit ( #504 )
2022-03-11 15:40:24 +08:00
Raja Subramanian
b6975bf7cd
Track source based stream tracker config ( #503 )
...
* Track source based stream tracker config
* SCREEN_SHARE_AUDIO is an audio source
2022-03-11 12:15:12 +05:30
cnderrauber
e4c321de02
add interface filter config ( #502 )
...
* add interface filter config
* Update config-sample.yaml
Co-authored-by: David Zhao <david@davidzhao.com >
* better description
Co-authored-by: David Zhao <david@davidzhao.com >
2022-03-11 14:08:41 +08:00
shishirng
cd2a7c2447
Telemetry: send video layers in TrackPublishedUpdate event ( #500 )
...
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-03-10 14:49:01 -05:00
shishirng
c34b907d58
Add checks to prevent bytes/packet counts from going -ve ( #499 )
...
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-03-09 16:51:23 -05:00
shishirng
57ecec73d7
Send participantInfo on participant left event to store identity ( #498 )
...
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-03-09 14:35:01 -05:00
cnderrauber
d31c9f607e
fix timing issue for clear receiver ( #497 )
2022-03-09 21:38:01 +08:00
Raja Subramanian
acbafa06f2
Log key frame and layer lock ( #496 )
2022-03-09 09:50:16 +05:30
cnderrauber
184fc93c6a
fix panic on close channel ( #495 )
2022-03-09 11:49:27 +08:00
Raja Subramanian
5b0f171bef
Log actual track IDs during subscription, not just the number of tracks ( #493 )
...
* Log actual track IDs instead of just number of tracks
* Log track ids
2022-03-08 19:51:57 +05:30
cnderrauber
128199e634
don't send datatrack info to client ( #492 )
...
* don't send datatrack info to client
2022-03-08 17:05:26 +08:00
David Zhao
d57f76fbef
Use trackID consistently as log key ( #491 )
...
* Use trackID consistently as log key
* more useful logging for track published
2022-03-07 21:02:08 -08:00
cnderrauber
7c0f789316
move CanPublishData check to DataTrack ( #490 )
...
* move CanPublishData check to DataTrack
* fix test
2022-03-08 12:02:18 +08:00
David Colburn
dca695bd68
deadlock package ( #489 )
...
* deadlock package
* clean up pipe
2022-03-07 14:26:52 -08:00
cnderrauber
608da4ba4b
stats for pli and bitrate ( #487 )
...
* stats for pli and bitrate
* solve comments
* return 0 if no pli sent
2022-03-07 14:59:01 +08:00
b20132367
e5ffd38054
Remove race for creating rtc room ( #485 )
2022-03-05 00:08:13 -08:00
David Colburn
67848a1dcb
fix panic for StartEgress
2022-03-03 12:43:08 -08:00
cnderrauber
4bc03d8435
Client configuration ( #452 )
...
* client configuration
* fix init roommanager
2022-03-03 18:26:14 +08:00
Alex Beattie
96654e164a
support Redis TLS Connection ( #482 )
...
* Add TLS for Redis connection
* Update to add tls flag
2022-03-02 22:17:29 -08:00
David Zhao
7a5b5dbc69
Pass back serverRegion in when participant's joining ( #479 )
...
* Pass back serverRegion in when participant's joining
* fix tests
* protocol update
2022-03-02 13:36:19 -08:00
Raja Subramanian
c743d2ab3a
Warn on ops queue full ( #481 )
...
Pass logger so that we can log with proper context.
2022-03-02 19:08:07 +05:30
Raja Subramanian
bfa350451e
Start connection stats only after bind ( #480 )
2022-03-02 17:05:11 +05:30
Raja Subramanian
bfae13eaa6
Keep track of pending subscription close. ( #478 )
...
Introduce a pending close map and fire onNoSubscribers only
when there are not subscribed and no pending close.
There are a couple of paths for down track close
- RemoveSubscriber
- RemoveAllSubscriber
We remove the subscriber from `subscribedTracks` in these.
This is because `AddSubscriber` checks for existing subscription.
If there is a remove followed by an add, the add should not think
there is an existing susbcription if there is a delay in down track
close callback.
But, down track close is also called directly from places like
participant close. So, have to clean up both subscribedTrack
and pendingClose when the down track close fires.
Call onNoSubscribers only when both are empty. This will allow
relay up track to stop properly when all susbcribers have left.
2022-03-01 23:30:13 +05:30
David Zhao
7449175c8e
Fix participant update version generation. ( #477 )
...
Previously it was stuck at 1
2022-03-01 09:36:11 -08:00
cnderrauber
913ef3a646
Datatrack for data channel ( #476 )
...
* data track
2022-03-01 15:48:20 +08:00
Raja Subramanian
13e21e7c45
Callback queue for a couple of modules ( #468 )
...
* callback queue for stream tracker
* Ops queue for down track
* fix test
2022-03-01 09:55:13 +05:30
David Colburn
a1bef5b18d
deadlock CI ( #475 )
...
* deadlock CI
* make sure the test fails
* remove fail check
2022-02-28 14:48:19 -08:00
shishirng
c3a3fb569d
add track publisher info in track subscribed event ( #473 )
...
* add track publisher info in track subscribed event
Signed-off-by: shishir gowda <shishir@livekit.io >
* update protocol ver
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-02-28 13:48:02 -05:00
Raja Subramanian
2706dc130f
Replace sync/atomic usage with uber/atomic ( #471 )
2022-02-28 09:57:17 +05:30
David Zhao
933b41e42a
v0.15.5
v0.15.5
2022-02-27 16:55:48 -08:00
David Zhao
433a5cd8d1
Disable default node limits ( #472 )
...
* Disable default node limits
* removed unused vars
2022-02-27 16:54:39 -08:00
cnderrauber
c2d3e6e33e
create data channel from sync state ( #469 )
...
* create data channel from sync state
* fix fake type
2022-02-25 18:32:02 +08:00
David Zhao
130decbf1d
CI step for static check ( #467 )
...
* CI step for static check
* fix staticcheck
2022-02-24 23:07:15 -08:00
Raja Subramanian
778d1aa141
utils.AtomicFlag -> atomic.Bool (#466 )
...
* Replacing hand rolled ion-sfu atomic with uber/atomic
* Remove another hand rolled atomic
* utils.AtomicFlag -> atomic.Bool
2022-02-25 12:19:49 +05:30
Raja Subramanian
0170cc1cb6
Staticcheck ( #464 )
...
Using `go get -u honnef.co/go/tools/cmd/staticcheck`
Uneaarthed a couple of real bugs
2022-02-25 12:04:08 +05:30
Raja Subramanian
5a4181b581
Replacing hand rolled ion-sfu atomic with uber/atomic ( #465 )
...
* Replacing hand rolled ion-sfu atomic with uber/atomic
* Remove another hand rolled atomic
2022-02-25 11:57:09 +05:30
Raja Subramanian
2959eebca8
Introducing OpsQueue ( #463 )
...
* Introducing OpsQueue
Creating a PR to get feedback on standardizing on this concept.
Can be used for callbacks.
Already a couple of places use this construct. Wondering if we
should standardize on this across the board.
Just changing one place to use the new struct. Another place
that I know of which uses this pattern is the telemetry package.
* atomic flag -> bool
2022-02-25 11:56:26 +05:30
David Zhao
6d88154402
Reduce lock scope, avoid callbacks under lock ( #462 )
2022-02-24 15:09:34 -08:00
David Colburn
20f21cce2b
Egress ( #455 )
...
* egress updates
* pass egressInfo to delete
* update typefakes
* export StartEgress
* update protocol
* new rpc, rename stores
* add json tag
* update tests
* update protocol
2022-02-24 14:57:14 -08:00
shishirng
b7aac6cb6b
Set track_type to VIDEO for max subscriber video quality change explcitly ( #461 )
...
its defaulting to 0 -> AUDIO
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-02-24 12:45:07 -05:00
Raja Subramanian
5a9459d0d5
Use the same wrap logic as bucket as it is more robust ( #460 )
...
Also rename n -> s for golang convention
2022-02-24 17:51:02 +05:30
Raja Subramanian
eed241cf7f
Refactor Bucket a little bit ( #459 )
2022-02-24 13:43:12 +05:30
David Zhao
7eb2fecadd
Close websocket connection upon join failure ( #458 )
...
* Close websocket connection on join failure to avoid hang
* fix auto creation bug
2022-02-22 17:43:25 -08:00
shishirng
3e7fae96ea
Add telemetry method to capture max video_quality ( #457 )
...
* Add telemetry method to capture max video_quality
Signed-off-by: shishir gowda <shishir@livekit.io >
* Telemetry fakes
Signed-off-by: shishir gowda <shishir@livekit.io >
* Update go mod dep
Signed-off-by: shishir gowda <shishir@livekit.io >
2022-02-22 19:08:49 -05:00
Raja Subramanian
870190624e
Fix no-video with adaptive streaming ( #456 )
...
* Fix no-video with adaptive streaming
With a recent change to initialize max quality for subscriber
synchronously, a subsequent update at the same quality was
getting ignored. So, there was no message back to publisher
to start up video layers. Reproducible every time the subscriber
joined after all the layers of publishers was turned off.
While not pretty, for now, disable the check for quality match
on subscriber update. That disabling itself is fine as there is
another check for consolidated quality match before sending
a message to the publisher, but in general this area has shown
some shakiness and needs some work.
* Use notify function to set initial quality also
2022-02-22 10:34:18 -08:00
David Zhao
a48cb6d0c4
Avoid deadlock during room close ( #451 )
...
* avoid deadlock during room closse
* better fix
2022-02-20 21:14:57 -08:00
Raja Subramanian
3f38172139
Types for ConnectionID, NodeID, ParticipantKey ( #450 )
...
* Types for ConnectionID, NodeID, ParticipantKey
* latest protocol version
2022-02-21 08:52:11 +05:30