Commit Graph

541 Commits

Author SHA1 Message Date
Miroslav Šedivý
d84297fbec update pipelines config settings extractor. 2021-03-30 00:36:13 +02:00
Miroslav Šedivý
051ab9f426 always start pipelines with !. 2021-03-29 22:59:07 +02:00
Miroslav Šedivý
d8c031af4d add video config evaluation. 2021-03-29 00:58:51 +02:00
Miroslav Šedivý
78b6264494 split webrtc & WS destroy. 2021-03-25 14:08:26 +01:00
Miroslav Šedivý
a8e44160dc cursor cache log debug. 2021-03-25 12:20:30 +01:00
Miroslav Šedivý
5d00e0bdbd fix cursor index out of range error. 2021-03-25 11:59:57 +01:00
Miroslav Šedivý
bf6181764b clear cookie if non-existent session. 2021-03-25 10:29:28 +01:00
Miroslav Šedivý
da1d073846 websocket connection change. 2021-03-23 15:38:37 +01:00
Miroslav Šedivý
89081d9887 do not destroy WebRTC on WS disconnect. 2021-03-23 15:38:09 +01:00
Miroslav Šedivý
fb845a1f18 update pipelines. 2021-03-23 14:06:40 +01:00
Miroslav Šedivý
58854d38dd webrtc add interceptor. 2021-03-23 13:46:54 +01:00
Miroslav Šedivý
9fcc310685 pipelines adding buffer. 2021-03-22 16:45:17 +01:00
Miroslav Šedivý
7c9c7ec7cb video qualities: modify only FPS. 2021-03-22 16:37:37 +01:00
Miroslav Šedivý
52e586790e fix static files serving Path. 2021-03-21 21:42:53 +01:00
Miroslav Šedivý
e4d82673da fix 401 and 403 texts. 2021-03-21 21:32:52 +01:00
Miroslav Šedivý
0eef9d4d98 update auth middlewares. 2021-03-21 21:26:53 +01:00
Miroslav Šedivý
5a79212b32 add healthcheck. 2021-03-19 15:04:01 +01:00
Miroslav Šedivý
cd15e0b03e ice server omitempty credentials. 2021-03-19 11:28:06 +01:00
Miroslav Šedivý
77e31bb1bc fmt. 2021-03-18 13:38:32 +01:00
Miroslav Šedivý
aefb367505 fix initial image error & add cache max. 2021-03-18 13:38:27 +01:00
Miroslav Šedivý
9c6c107ee0 move broadcast constants to config. 2021-03-18 13:17:10 +01:00
Miroslav Šedivý
552223d031 iceservers with auth. 2021-03-17 15:47:49 +01:00
Miroslav Šedivý
4abe0a5dba move cookies to session + config. 2021-03-17 14:09:10 +01:00
Miroslav Šedivý
d06a5a2ac7 typo fix. 2021-03-17 11:19:35 +01:00
Miroslav Šedivý
c91e500f00 fix dummy member provider. 2021-03-16 15:38:51 +01:00
Miroslav Šedivý
0233daf125 members: direct providers config. 2021-03-16 15:28:40 +01:00
Miroslav Šedivý
524d895db8 scope config variables. 2021-03-16 15:24:58 +01:00
Miroslav Šedivý
0b4c6f50aa remove leftover code. 2021-03-16 13:57:43 +01:00
Miroslav Šedivý
a9aa62f062 lint & logging fixes. 2021-03-16 10:53:03 +01:00
Miroslav Šedivý
58d029f455 WS upgrade no returning error. 2021-03-16 10:45:22 +01:00
Miroslav Šedivý
971e3bff4e handler: log unknown event. 2021-03-16 10:25:13 +01:00
Miroslav Šedivý
3b0c16b308 handler: include event in error. 2021-03-16 10:22:03 +01:00
Miroslav Šedivý
c8328a56c0 Revert "ICE servers as URIs with auth." 2021-03-15 17:15:58 +01:00
Miroslav Šedivý
fd07597262 Revert "webrtc use ICEServers." 2021-03-15 17:15:34 +01:00
Miroslav Šedivý
3c3f50af68 webrtc use ICEServers. 2021-03-15 16:40:03 +01:00
Miroslav Šedivý
a1be9002f7 ICE servers as URIs with auth. 2021-03-15 16:34:13 +01:00
Miroslav Šedivý
0824c24bf6 add more privileges to API user. 2021-03-15 16:28:38 +01:00
Miroslav Šedivý
45c9d0c120 add API TOKEN to sessions. 2021-03-15 13:34:14 +01:00
Miroslav Šedivý
edfe9adde0 change authorization methods request priorities. 2021-03-15 13:01:35 +01:00
Miroslav Šedivý
900ae006b8 fmt. 2021-03-14 20:26:58 +01:00
Miroslav Šedivý
85bb26d77c member session mutexes & login if not connected. 2021-03-14 20:26:30 +01:00
Miroslav Šedivý
524c76ae3c member manager login & logout. 2021-03-14 19:59:34 +01:00
Miroslav Šedivý
304cb5d655 add CanLogin check for Authenticate. 2021-03-14 19:58:15 +01:00
Miroslav Šedivý
9483882c89 member mutex move to manager. 2021-03-14 19:36:30 +01:00
Miroslav Šedivý
4207775fb3 split member manager and provider. 2021-03-14 16:58:18 +01:00
Miroslav Šedivý
19e732f3ea fix typo. 2021-03-14 16:23:14 +01:00
Miroslav Šedivý
fad3ab0062 MemberData split ID and profile, return on create. 2021-03-14 16:19:23 +01:00
Miroslav Šedivý
4d2fb157f9 API implement members. 2021-03-14 14:44:32 +01:00
Miroslav Šedivý
4898cecd56 members minor bugfixes. 2021-03-14 14:44:03 +01:00
Miroslav Šedivý
8f277c61c9 members object provider default from config. 2021-03-14 13:11:26 +01:00
Miroslav Šedivý
00586baffc member providers extracted config. 2021-03-14 13:07:03 +01:00
Miroslav Šedivý
fceae3818b default object members provider. 2021-03-14 13:06:48 +01:00
Miroslav Šedivý
f57332ba2a dummy allow all logins. 2021-03-14 13:06:33 +01:00
Miroslav Šedivý
bf560d5289 implemented member manager. 2021-03-14 12:57:19 +01:00
Miroslav Šedivý
7c79b48750 added member provider. 2021-03-14 01:08:50 +01:00
Miroslav Šedivý
594404824f fmt. 2021-03-14 01:05:00 +01:00
Miroslav Šedivý
ecad2124fd session state decoupled. 2021-03-14 00:50:08 +01:00
Miroslav Šedivý
4a28307c1e session profile decoupled. 2021-03-14 00:45:51 +01:00
Miroslav Šedivý
7d4f7694b9 login username password. 2021-03-14 00:32:52 +01:00
Miroslav Šedivý
5101f0a9c3 fix logs. 2021-03-14 00:12:32 +01:00
Miroslav Šedivý
fb2078e1ff member -> session. 2021-03-14 00:05:31 +01:00
Miroslav Šedivý
fa687480a9 member events -> session events. 2021-03-13 23:48:07 +01:00
Miroslav Šedivý
dafebc79e5 memberState -> sessionState. 2021-03-13 23:42:16 +01:00
Miroslav Šedivý
b03a730c84 memberId to sessionId. 2021-03-13 23:32:10 +01:00
Miroslav Šedivý
d83e04e7ec fix logs, unified session_id. 2021-03-13 23:27:28 +01:00
Miroslav Šedivý
cacdd9e20a Revert 'autogenerate token.' 2021-03-13 22:54:34 +01:00
Miroslav Šedivý
3fcca6ab52 OnHostChanged event and add tokens to session. 2021-03-13 22:17:49 +01:00
Miroslav Šedivý
453a6905f7 fmt auth. 2021-03-13 21:44:38 +01:00
Miroslav Šedivý
93ac4e8332 autogenerate token. 2021-03-13 21:43:36 +01:00
Miroslav Šedivý
a6b66e4d55 OnHostChanged event. 2021-03-13 21:37:00 +01:00
Miroslav Šedivý
3aea0c7bf5 remove members from session. 2021-03-13 21:11:48 +01:00
Miroslav Šedivý
84f0b0aaeb move session database to member folder. 2021-03-13 21:07:51 +01:00
Miroslav Šedivý
58b00525cc refactor authenticate to use Token. 2021-03-13 20:42:56 +01:00
Miroslav Šedivý
6b638db825 capture use display from ENV. 2021-03-11 17:55:13 +01:00
Miroslav Šedivý
d24cea3535 desktop display from env. 2021-03-11 17:44:49 +01:00
Miroslav Šedivý
0ac2109275 add ip_retrieval_url. 2021-03-10 13:15:18 +01:00
Miroslav Šedivý
f6114cd410 pipelines: modify default bitrate ratio. 2021-03-03 22:30:45 +01:00
Miroslav Šedivý
13ffc59209 broadcast pipeline update. 2021-03-03 19:13:53 +01:00
Miroslav Šedivý
e98237a58c vp8 set CBR and undershoot values. 2021-03-03 19:10:48 +01:00
Miroslav Šedivý
b78132e6aa WebRTC: add rtp consumer. 2021-03-03 18:53:35 +01:00
Miroslav Šedivý
9dc96036ce fmt sessionCtx. 2021-03-03 18:46:08 +01:00
Miroslav Šedivý
0aa1237df9 change pingPeriod to 10s. 2021-03-03 18:35:58 +01:00
Miroslav Šedivý
fa16b28ac0 set secure cookies by default. 2021-03-01 18:52:05 +01:00
Miroslav Šedivý
c6a183f766 set AllowCredentials to true. 2021-03-01 18:20:17 +01:00
Miroslav Šedivý
8f9ad2cd9b capture stream remove listeners on shutdown. 2021-02-28 18:56:04 +01:00
Miroslav Šedivý
2204400282 cursor cache disable if not available. 2021-02-28 18:52:37 +01:00
Miroslav Šedivý
663270b0f5 cursor position bypass desktop module. 2021-02-28 18:50:32 +01:00
Miroslav Šedivý
66618b9e62 WebRTC cursor handler extracted + cache. 2021-02-28 18:37:35 +01:00
Miroslav Šedivý
9d60468aea xevent DRY, expose emitter. 2021-02-28 17:22:55 +01:00
Miroslav Šedivý
09625ecca5 session refactor state. 2021-02-26 15:04:50 +01:00
Miroslav Šedivý
93f8d7f05e adding WebRTC timeouts. 2021-02-25 17:16:37 +01:00
Miroslav Šedivý
e9840a9579 fmt edit. 2021-02-25 17:16:01 +01:00
Miroslav Šedivý
2410295ad4 cursor CreatePNGImage in event emitter. 2021-02-25 14:24:17 +01:00
Miroslav Šedivý
d2eda6f25f cursor utils changed to generic CreatePNGImage. 2021-02-25 14:15:18 +01:00
Miroslav Šedivý
8f142e4b91 GetCursorImage returns image structure. 2021-02-25 14:03:57 +01:00
Miroslav Šedivý
dc29f71b0c keysym as uint32. 2021-02-23 21:25:55 +01:00
Miroslav Šedivý
8f2639412d format code. 2021-02-21 00:41:04 +01:00
Miroslav Šedivý
7df1040439 remove not needed log message. 2021-02-18 16:59:36 +01:00
Miroslav Šedivý
c862711e6a update KeyboardModifiers WebSocket struct. 2021-02-18 16:52:49 +01:00
Miroslav Šedivý
ab34f4a53f WebRTC cursor: set initial state. 2021-02-17 21:55:21 +01:00
Miroslav Šedivý
5310acfbf0 implement xorg GetCursorPosition. 2021-02-17 21:55:11 +01:00
Miroslav Šedivý
2ac3f9876f audio start / stop in WebRTC. 2021-02-14 18:16:24 +01:00
Miroslav Šedivý
cd18a22655 WebRTC events only for active peer connection. 2021-02-14 17:17:06 +01:00
Miroslav Šedivý
2b693f4e52 fix naming convention. 2021-02-14 17:11:21 +01:00
Miroslav Šedivý
45679f1b86 format Go source code. 2021-02-14 14:40:17 +01:00
Miroslav Šedivý
732764991b fix linter errors. 2021-02-14 14:23:33 +01:00
Miroslav Šedivý
c9b2c93fb8 cursor image/position from WebRTC. 2021-02-13 18:25:40 +01:00
Miroslav Šedivý
061fbe60cf switch WebRTC to BigEndian. 2021-02-13 00:01:56 +01:00
Miroslav Šedivý
ed9f0276c7 fix WebRTC send: remove structures with dynamic size. 2021-02-12 23:46:57 +01:00
Miroslav Šedivý
8a3b3f14cb WebRTC channel from server. 2021-02-12 23:45:16 +01:00
Miroslav Šedivý
90aa2ce51a cursor utils: split to URI and bytes. 2021-02-12 23:43:52 +01:00
Miroslav Šedivý
af3a28274d add customized WebRTC send functions. 2021-02-12 22:13:55 +01:00
Miroslav Šedivý
c54703d7d7 destroy WS and WebRTC peers before assigning. 2021-02-12 21:48:47 +01:00
Miroslav Šedivý
c8200e3bb7 add WebRTC send function. 2021-02-12 21:06:42 +01:00
Miroslav Šedivý
f22922191a broadcast cursor position via WebSockets. 2021-02-11 18:36:27 +01:00
Miroslav Šedivý
e8286dec96 xorg: filter out all irrelevant screen rates. 2021-02-10 18:56:20 +01:00
Miroslav Šedivý
c0c14b3ac2 add screen-size aware pipelines. 2021-02-09 20:36:22 +01:00
Miroslav Šedivý
bac69a205f update qualities pipelines with fps. 2021-02-08 22:21:21 +01:00
Miroslav Šedivý
626164df89 SignalVideo reply. 2021-02-07 17:29:40 +01:00
Miroslav Šedivý
dd2ca03955 choose video with CreatePeer. 2021-02-07 17:07:55 +01:00
Miroslav Šedivý
5cdb6e074e send video IDs with signal provide. 2021-02-07 16:52:30 +01:00
Miroslav Šedivý
1838a74213 switch to VP8 with multiple qualities. 2021-02-06 18:18:49 +01:00
Miroslav Šedivý
eb88c8dc62 independent tracks for users & stream switching. 2021-02-06 18:16:24 +01:00
Miroslav Šedivý
417a3d1692 stream listeners as pointers. 2021-02-06 17:05:25 +01:00
Miroslav Šedivý
5d66dcdb7b unsubscribe listeners on shutdown. 2021-02-06 12:59:57 +01:00
Miroslav Šedivý
f05889bd56 Capture stream: Add- and RemoveListener. 2021-02-06 12:52:02 +01:00
Miroslav Šedivý
6756114e30 replace video track on demand. 2021-02-05 20:35:30 +01:00
Miroslav Šedivý
c81bca9b2f session GetWebRTCPeer. 2021-02-05 18:14:45 +01:00
Miroslav Šedivý
761f6d8a8f add Video error return. 2021-02-05 18:07:58 +01:00
Miroslav Šedivý
f62d36ac4f WebRTC SetVideoID. 2021-02-05 17:57:33 +01:00
Miroslav Šedivý
aa7a131da2 refactor single video track to an array. 2021-02-05 17:40:29 +01:00
Miroslav Šedivý
ebd7e7c065 move gst pipelines to codec. 2021-02-05 15:10:41 +01:00
Miroslav Šedivý
36b7eca43c name confusion Enabled -> Started. 2021-02-05 14:03:53 +01:00
Miroslav Šedivý
18b6fa0a03 remove config from capture managers. 2021-02-05 13:58:02 +01:00
Miroslav Šedivý
3515c67045 capture add mutexes. 2021-02-05 12:49:02 +01:00
Miroslav Šedivý
2b72f43c9e do not start pipeline when error. 2021-02-05 12:41:02 +01:00
Miroslav Šedivý
58ea3665b0 unify capture shutdown. 2021-02-05 12:18:46 +01:00
Miroslav Šedivý
7902d7b1f1 Implement Audio & Video using custom StreamManager. 2021-02-04 20:39:48 +00:00
Miroslav Šedivý
b488f01b16 vp9enc add properties from vp8enc. 2021-02-04 13:52:32 +01:00
Miroslav Šedivý
7e7a0c0617 tune gst pipelines. 2021-02-03 21:04:48 +01:00
Miroslav Šedivý
c2553b150c ICETrickle in config. 2021-02-02 21:12:11 +01:00
Miroslav Šedivý
cae8201908 add Trickle ICE support. 2021-02-02 20:43:33 +01:00
Miroslav Šedivý
dd4c67a6c4 registerTracks check for err. 2021-02-02 19:36:11 +01:00
Miroslav Šedivý
ace7b254a3 split webrtc ConnectPeer function. 2021-02-02 19:21:48 +01:00
Miroslav Šedivý
91f1727723 lint remove whitespaces. 2021-02-02 18:28:32 +01:00
Miroslav Šedivý
e152ee295b lint fix. 2021-02-02 18:21:07 +01:00
Miroslav Šedivý
d880e4384f RTPCodec as functions. 2021-02-02 16:58:17 +01:00
Miroslav Šedivý
45cf44835c webrtc improved logging & close on disconnect or fail. 2021-02-02 16:21:20 +01:00
Miroslav Šedivý
6d595e8572 refactor to v3 + custom codec handler. 2021-02-01 23:50:18 +01:00
Miroslav Šedivý
4e79c487e5 bump pion v3 compatible. 2021-02-01 22:45:44 +01:00