fc3b6f2e21
OnProfileChanged add new & old profile.
2024-06-09 18:02:01 +02:00
0e8108e9a4
add session delete and disconnect to API.
2024-05-09 10:28:58 +02:00
416faa3df4
add session to host change.
2024-05-06 23:47:13 +02:00
57ffca0bed
add session to settings change.
2024-05-05 00:03:32 +02:00
b90eb87c22
unify types.ScreenSize and add ID to screen size update.
2024-05-03 22:40:56 +02:00
0f45aa3f19
implement control protection.
2024-04-21 20:10:16 +02:00
a61eade929
add LockedLogins to settings.
2024-04-20 14:27:15 +02:00
00c7e6dfb2
Move X11 error handler registration to before screen sets ( #62 )
...
If X11 throws an error during screen config get/set, the default error
handler at the time will be one which causes a program exit. This
splits the error handler registration in xevent into its own call,
allowing us to register our error handler earlier on. This results in
the safe error handling logic actually being called instead of a full
program exit.
2024-03-27 21:38:33 +01:00
5a16143cfe
fix mode info memory leak.
2024-02-20 18:15:22 +01:00
3dbcc41795
upload drop to config.
2023-11-24 10:44:24 +01:00
b40c0778c8
file chooser dialog diabled by default.
2023-11-24 10:39:09 +01:00
501280f8aa
server proxy, router opts and optional CORS.
2023-11-19 14:35:19 +01:00
4da7869e70
Add Xorg modifiers ( #57 )
...
* implement additional modifiers to xorg.
* xorg modifiers to API.
* update modifiers api & add ws.
* scroll pos rename to delta and add ctrl key.
2023-09-11 16:34:57 +02:00
5ceef394ca
maintain backward compatibility with g_memdup.
2023-09-06 19:12:41 +02:00
05403cc0c6
Upgrade to bookworm ( #54 )
...
* upgrade to bookworm.
* g_memdup is deprecated: Use g_memdup2 instead.
* upgrade nvidia dockerfile.
* revert devcontainer.
2023-09-05 23:01:18 +02:00
ea5517b270
Xorg input driver ( #53 )
...
* add xf86 input driver.
* cleanup.
* rewrite to unix socket PoC.
* add input rebuild.
* lint & docs.
* add input driver struct.
* comments, lint, socket name from config.
* add touch events to webrtc.
* switch to uint32.
* misc update logging & linting,
* fix screen size
* set touchscreen as core pointer.
* add touch to ws control.
* SendCoreEvents.
* extract to own xinput folder.
* add debounce.
* switch pressure to uint8.
* check buffer size.
* send touch events with system init.
2023-08-17 16:14:59 +02:00
e3e9d1606d
Refactor signaling for video and audio ( #51 )
...
* add audio and signal request.
* disable audio by default.
* fix SignalProvide.
* disable estimator when track disabled.
2023-06-26 21:27:14 +02:00
3e8d686c0f
Bandwidth estimator refactor ( #46 )
...
* rewrite to use stream selector.
* WIP.
* add nacks to metrics.
* add estimate trend.
* estimator based on trend detector.
* add estimator unstable duration.
* add estimator debug.
* add stalled duration.
* estimator move values to config.
* change default estimator values.
* minor style changes.
* fix websocket video messages.
* replace video track with ivdeo id.
2023-05-15 19:29:39 +02:00
848556adbd
add time stats to state.
2023-05-15 16:47:59 +02:00
cf4e0666fe
add locked controls to settings.
2023-05-15 16:47:28 +02:00
a75ae187b4
add plugin scope to settings.
2023-04-28 22:53:41 +02:00
c70c8217de
add unminimize.
2023-04-24 22:19:48 +02:00
466185fc24
fixed by using XFlush.
2023-04-24 22:19:48 +02:00
47a3f6d6fb
twice toggle maximizes for fullscreen.
2023-04-24 22:19:48 +02:00
3ef4c5ce0f
use DefaultRootWindow.
2023-04-24 22:19:48 +02:00
0ea1c2870f
Refactor websocket session sync ( #44 )
...
* refactor websocket peer and comment functions.
* update comments.
* add DestroyWebSocketPeer.
2023-04-23 11:23:20 +02:00
728e27da34
minor changes, moving things around.
2023-04-18 12:07:49 +02:00
1a752e43d2
Add plugins required flag ( #40 )
...
* add required plugins flag.
* update plugins logs.
* add plugins subcommand.
* move preflight to prerun.
2023-03-31 12:02:33 +02:00
09508638ce
session save & load from a file. ( #38 )
2023-03-27 18:33:51 +02:00
9936a04fea
add passive estimator & REMB back. ( #35 )
2023-03-13 17:55:52 +01:00
0de8ffc773
update screen rate set. ( #34 )
2023-03-13 17:55:41 +01:00
17bfd2d58f
Sample listeners chan ( #33 )
...
* switch to sample listeners.
* add streamsink total bytes to metrics.
* on rtcp to chan.
* change logs.
* streamsink add real bitrate.
* add timing information to sample.
* bitrate buckets.
* switch to WriteSample.
2023-03-07 00:08:53 +01:00
977662affe
Upgrade to go 1.20 ( #30 )
...
* upgrade dependencies.
* videoscale element to nearest neighbor.
2023-02-26 21:57:02 +01:00
ccaaacac7c
do not round height to 8.
2023-02-20 19:49:39 +01:00
124c5ae117
Wait for keyframe on switching streams ( #28 )
...
* stream sink add keyframe lobby.
* change streamsink keyframe identifier.
* add h264.
* use gstreamers is delta unit for sample.
* use delta unit.
2023-02-14 21:19:02 +01:00
f8b128e1e9
Custom sizes with XRandR ( #25 )
...
* xserver dummy with RandR.
* update.
* remove screen configurations from xorg.
* screen size cannot be nil anymore.
* use predefined screen configurations.
* use screen configurations.
* fix error.
* remove comment.
2023-02-14 21:18:47 +01:00
bfabee12e2
gst emit video keyframe on demand. ( #27 )
2023-02-07 21:43:14 +01:00
2364facd60
WebRTC congestion control ( #26 )
...
* Add congestion control
* Improve stream matching, add manual stream selection, add metrics
* Use a ticker for bitrate estimation and make bandwidth drops switch to lower streams more aggressively
* Missing signal response, fix video auto bug
* Remove redundant mutex
* Bitrate history queue
* Get bitrate fn support h264 & float64
---------
Co-authored-by: Aleksandar Sukovic <aleksandar.sukovic@gmail.com >
2023-02-06 19:45:51 +01:00
ba0dea8022
switch to xkb.
2023-01-16 13:54:17 +01:00
eac9796c47
no free keycodes, pick last two keycodes anyway.
2023-01-16 13:54:17 +01:00
67cc23fd53
circular list for free keycodes.
2023-01-16 13:54:17 +01:00
1fb5ae43dd
allow multiple users to be set in object provider.
2023-01-13 12:01:58 +01:00
e5c84469ce
MemberProvider: add variable names.
2023-01-13 12:01:58 +01:00
b793e5b377
add stereo to opus codec.
2023-01-12 20:34:09 +01:00
2cb64d15a0
send heartbeat with ping. ( #16 )
2022-11-11 17:58:54 +01:00
d894e888b8
fix generic plugin error message.
2022-10-25 22:46:21 +02:00
6067367acd
Capture bandwidth switch ( #14 )
...
* Handle bitrate change by finding the stream with closest bitrate as peer
* Convert video id into bitrate when creating peer or changing bitrate
* Try to fix prometheus panic
* Revert metrics label name change
* minor fixes.
* bitrate selector.
* skip if moving to the same stream.
* no closure for getting target bitrate.
* fix: high res switch to lo video, stream bitrate out of range
* revert dev config change.
* white space.
Co-authored-by: Aleksandar Sukovic <aleksandar.sukovic@gmail.com >
2022-10-25 20:25:00 +02:00
5ad5daa6bb
Stream bucket manager ( #12 )
...
* refactor webrtc.
* bind track with a single connection.
* audio+video codec.
* move stream selection to bucket manager.
* audio w/o bucket manager.
* revert peer changes.
* return video IDs.
* destroy & recreate all.
* add video ID change.
* Track -> Recevier.
2022-10-17 13:39:31 +02:00
095f9fe8ee
gst as interface. ( #11 )
2022-10-13 19:57:31 +02:00
d5863d8b95
set WebRTC video codec H.264 profile-level-id to 42e01f to be compatible with Firefox clients.
2022-09-13 22:21:56 +02:00