cnderrauber and GitHub
9b9298b927
Add batch i/o to improve throughput ( #2033 )
...
* Add batch i/o to improve throughput
* remove empty line
* Solve comments
* Change rtcconfig.UDPPort to PortRange
* Fix test
2023-09-06 10:18:20 +08:00
David Zhao and GitHub
debd75fa15
Integrate logger components ( #1933 )
...
* Integrate logger components
Dividing into the following components
* pub - publisher
* pub.sfu
* sub - subscriber
* transport
* transport.pion
* transport.cc
* api
* webhook
* update go modules
2023-08-03 13:31:17 -07:00
David Zhao and GitHub
981fb7cac7
Adding license notices ( #1913 )
...
* Adding license notices
* remove from config
2023-07-27 16:43:19 -07:00
Paul Wells and GitHub
6c20c7eb15
add test for removing disconnected participants on signal close ( #1896 )
...
* add test for removing disconnected participants on signal close
* cleanup
2023-07-20 21:21:40 -07:00
Raja Subramanian and GitHub
5459bd2931
Push track quality to poor on a bandwidth constrained pause. ( #1867 )
...
* Push track quality to poor on a bandwidth constrained pause.
* add tests
* scale distance by divisor
* fix test distance to desired
* wait longer for subscription manager to reconcile
2023-07-11 15:29:35 +05:30
Raja Subramanian and GitHub
06f9b574cb
Delete down track from receiver in close always. ( #1842 )
...
* Delete down track from receiver in close always.
I think with the parallel close in goroutines, it so happens that
peer connection can get closed first and unbind the track.
The delete down track and RTCP reader close was inside if `bound` block.
So, they were not running leaving a dangling down track in the receiver.
* fix tests
* fix test
2023-06-30 20:44:57 +05:30
cnderrauber and GitHub
c1842cb54f
Avoid reconnect loop for unsupported downtrack ( #1754 )
...
* Avoid reconnect loop for unsupported downtrack
If the client subscribes to a track which codec is unsupported by the
client, sfu will trigger negotiation failed and issue a full reconnect
after received client answer. If the client try to subscribe that track
then it will got full reconnect again. That will cause a infinite
reconnect loop until the client don't subscribe that track. This PR
will unsubscribe the error track for the client and send a
SubscriptionResponse that contain the reason to indicates the track's
codec is not supported to avoid the reconnect loop.
2023-05-31 11:41:22 +08:00
David Zhao and GitHub
12c6f1e12c
Added Xiaomi 2201117TI to devices that does not support H.264 ( #1728 )
2023-05-22 21:38:56 -07:00
Paul Wells and GitHub
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
Benjamin Pracht and GitHub
4244542840
Adopt WebRTCConfig from mediatransportutil ( #1707 )
...
This also adds support for inline fields in ToCLIFlagNames
2023-05-10 20:00:34 -07:00
Benjamin Pracht and GitHub
a08cd23b6d
Adopt pion logging initialization moving to protocol ( #1667 )
2023-04-28 10:51:41 -07:00
David Colburn and GitHub
191a9e8014
update core to 0.0.5 ( #1540 )
...
* update core
* sort imports
* fix typos
* redundant types
2023-03-22 16:53:23 -07:00
1848a21eda
add configurable environment value ( #1421 )
...
* add configurable prometheus env label
* Update pkg/config/config.go
Co-authored-by: Mathew Kamkar <578302+matkam@users.noreply.github.com >
* Update cmd/server/main.go
Co-authored-by: Mathew Kamkar <578302+matkam@users.noreply.github.com >
* Update config-sample.yaml
Co-authored-by: Mathew Kamkar <578302+matkam@users.noreply.github.com >
* set config.Environment value to dev when in dev mode
* be more precise for config-sample
---------
Co-authored-by: Mathew Kamkar <578302+matkam@users.noreply.github.com >
2023-02-15 14:41:44 -07:00
David Zhao and GitHub
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
cnderrauber and GitHub
3c907ed460
Add stats for data channel and signal ( #1198 )
...
* Add stats for data channel and signal
* Solve comment
2022-11-30 14:53:19 +08:00
Mathew Kamkar and GitHub
caae389717
node type prometheus metric labels ( #1197 )
2022-11-29 20:36:35 -08:00
Mathew Kamkar and GitHub
26fe910e88
Generated CLI Flags ( #1112 )
2022-10-25 22:24:08 -07:00
cnderrauber and GitHub
8fd3e8fe2d
Support track level stereo and red setting ( #1086 )
...
* Support track level stereo and red setting
* fix test client
2022-10-17 10:48:11 +08:00
Raja Subramanian and GitHub
33f5dbc501
Make strict mode a param ( #1054 )
...
So, a wrapping config (like cloud) can skip the strict mode check.
2022-09-29 13:07:32 +05:30
cnderrauber and GitHub
48588d7c3d
code clean & fix h264 test fail ( #1028 )
2022-09-21 16:59:18 +08:00
Mathew Kamkar and GitHub
767d660809
Use LocalNode ID in Prometheus metrics ( #959 )
2022-08-25 22:16:20 -07:00
Raja Subramanian and GitHub
06a46d5de0
Replace Target with params to indicate direction ( #955 )
...
* Replace Target with params to indicate direction
* Add missed send answer call
2022-08-25 08:33:06 +05:30
Raja Subramanian and GitHub
00b131da50
Wait for fully established to ensure data channel is ready ( #949 )
2022-08-24 16:51:43 +05:30
Raja Subramanian and GitHub
aaa3a5b46e
Transport restructure ( #944 )
...
* WIP commit
* WIP commit
* fix copy pasta
* setting PC with previous answer has to happen synchronously
* static check
* WIP commit
* WIP commit
* fixing transport tests
* fix tests and clean up
* minor renaming
* FIx test race
* log event when channel is full
2022-08-24 14:31:45 +05:30
David Zhao and GitHub
ab1ccae0c7
Respond to signal ping / pong ( #871 )
...
* Respond to signal ping / pong
* Pass back 1 for pong for now, we don't need the timestamp
* update protocol
2022-08-05 09:24:47 -07:00
Raja Subramanian and GitHub
e624604453
Revert "ListRooms using sid ( #842 )" ( #845 )
...
This reverts commit f2e1e67e58 .
2022-07-21 14:49:41 +05:30
Raja Subramanian and GitHub
f2e1e67e58
ListRooms using sid ( #842 )
...
* ListRooms using `sid`
* correct field name
* Remove contains and latest protocol
2022-07-21 11:05:33 +05:30
cnderrauber and GitHub
6ba034feae
shorten the time cost for subscriber get media tracks ( #747 )
...
* set DownTrack's initial codec to first codec of potential codecs
* faststart on subscribe
2022-06-02 10:00:42 +08:00
Dan McFaul and GitHub
aa0df2813f
deleting nonRtc rooms and fixing race when deleting rooms ( #721 )
2022-05-27 09:45:22 -06:00
David Zhao and GitHub
a933f1513f
Add pprof endpoint when running in dev mode ( #708 )
2022-05-23 00:34:16 -07:00
David Zhao and GitHub
57e2321a18
Expose Participant.IsPublisher to differentiate pubs from subs ( #643 )
2022-04-21 22:15:01 -07:00
David Zhao and GitHub
b821a0997d
Use common logging init functions ( #633 )
...
* Use common logging init functions
* update protocol commit
* fix tests
2022-04-20 00:15:11 -07:00
David Colburn and GitHub
0b8a180554
Code inspection ( #581 )
...
* Code inspection
* fix [4]int64 conversiong
2022-03-30 13:49:53 -07:00
David Zhao and GitHub
5920672802
feat: unpublish tracks after publish permissions are revoked. ( #545 )
...
* feat: unpublish tracks after publish permissions are revoked.
Uses protocol 7 to indicate client support, otherwise it attempts to
mute the tracks.
Also sends back permissions objects of all participants, and cleaned up
our handling of various permissions attributes.
* fix static check
2022-03-21 00:20:48 -07:00
David Zhao and GitHub
f14c452f8c
Telemetry and webhook improvements. ( #535 )
...
* Telemetry and webhook improvements.
* avoid blocking on telemetry channel - increase channel size and drop when full
* send ParticipantJoined webhook when fully joined (i.e. on ParticipantActive)
* send TrackPublished & TrackUnpublished webhooks
* increase number of parallel webhook workers to 50
* update protocol
2022-03-18 23:20:33 -07:00
cnderrauber and GitHub
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 and GitHub
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 and GitHub
913ef3a646
Datatrack for data channel ( #476 )
...
* data track
2022-03-01 15:48:20 +08:00
Raja Subramanian and GitHub
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 and GitHub
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
David Zhao and GitHub
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
David Colburn and GitHub
7bbd238188
clean up logs and imports ( #400 )
2022-02-03 14:20:19 -07:00
David Zhao
7297a57f3d
Improve TestMultiNodeRefreshToken reliability
2022-02-02 21:29:57 -08:00
David Zhao
a5d779a8b2
Increase test client timeout
2022-01-28 21:43:57 -08:00
David Zhao and GitHub
6af6eefb8c
Improve readability of test failures ( #386 )
2022-01-28 21:34:21 -08:00
David Zhao and GitHub
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
David Zhao and GitHub
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
David Zhao and GitHub
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 and GitHub
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
David Colburn and GitHub
5bea9debb7
Code cleanup ( #353 )
2022-01-19 02:13:06 -08:00