Miroslav Šedivý
37b131c74c
fix plugin settings unmarshal by changing to "name.key".
2024-06-16 18:08:46 +02:00
Miroslav Šedivý
5a04066c55
add PluginSettings unmarshaller.
2024-06-16 16:42:32 +02:00
Miroslav Šedivý
ae117ccdbb
fix dev scripts.
2024-06-16 16:26:42 +02:00
Miroslav Šedivý
fc3b6f2e21
OnProfileChanged add new & old profile.
2024-06-09 18:02:01 +02:00
Miroslav Šedivý
0e8108e9a4
add session delete and disconnect to API.
2024-05-09 10:28:58 +02:00
Miroslav Šedivý
416faa3df4
add session to host change.
2024-05-06 23:47:13 +02:00
Miroslav Šedivý
57ffca0bed
add session to settings change.
2024-05-05 00:03:32 +02:00
Miroslav Šedivý
b90eb87c22
unify types.ScreenSize and add ID to screen size update.
2024-05-03 22:40:56 +02:00
Miroslav Šedivý
0f45aa3f19
implement control protection.
2024-04-21 20:10:16 +02:00
Miroslav Šedivý
a61eade929
add LockedLogins to settings.
2024-04-20 14:27:15 +02:00
tt2468
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
Miroslav Šedivý
5a16143cfe
fix mode info memory leak.
2024-02-20 18:15:22 +01:00
Miroslav Šedivý
3dbcc41795
upload drop to config.
2023-11-24 10:44:24 +01:00
Miroslav Šedivý
b40c0778c8
file chooser dialog diabled by default.
2023-11-24 10:39:09 +01:00
Miroslav Šedivý
501280f8aa
server proxy, router opts and optional CORS.
2023-11-19 14:35:19 +01:00
Miroslav Šedivý
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
Miroslav Šedivý
5ceef394ca
maintain backward compatibility with g_memdup.
2023-09-06 19:12:41 +02:00
Miroslav Šedivý
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
Miroslav Šedivý
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
Miroslav Šedivý
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
Miroslav Šedivý
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
Miroslav Šedivý
848556adbd
add time stats to state.
2023-05-15 16:47:59 +02:00
Miroslav Šedivý
cf4e0666fe
add locked controls to settings.
2023-05-15 16:47:28 +02:00
Miroslav Šedivý
a75ae187b4
add plugin scope to settings.
2023-04-28 22:53:41 +02:00
Miroslav Šedivý
c70c8217de
add unminimize.
2023-04-24 22:19:48 +02:00
Miroslav Šedivý
466185fc24
fixed by using XFlush.
2023-04-24 22:19:48 +02:00
Miroslav Šedivý
47a3f6d6fb
twice toggle maximizes for fullscreen.
2023-04-24 22:19:48 +02:00
Miroslav Šedivý
3ef4c5ce0f
use DefaultRootWindow.
2023-04-24 22:19:48 +02:00
Miroslav Šedivý
0ea1c2870f
Refactor websocket session sync ( #44 )
...
* refactor websocket peer and comment functions.
* update comments.
* add DestroyWebSocketPeer.
2023-04-23 11:23:20 +02:00
Miroslav Šedivý
728e27da34
minor changes, moving things around.
2023-04-18 12:07:49 +02:00
Miroslav Šedivý
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
Miroslav Šedivý
09508638ce
session save & load from a file. ( #38 )
2023-03-27 18:33:51 +02:00
Miroslav Šedivý
9936a04fea
add passive estimator & REMB back. ( #35 )
2023-03-13 17:55:52 +01:00
Miroslav Šedivý
0de8ffc773
update screen rate set. ( #34 )
2023-03-13 17:55:41 +01:00
Miroslav Šedivý
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
Miroslav Šedivý
977662affe
Upgrade to go 1.20 ( #30 )
...
* upgrade dependencies.
* videoscale element to nearest neighbor.
2023-02-26 21:57:02 +01:00
Miroslav Šedivý
ccaaacac7c
do not round height to 8.
2023-02-20 19:49:39 +01:00
Miroslav Šedivý
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
Miroslav Šedivý
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
Miroslav Šedivý
bfabee12e2
gst emit video keyframe on demand. ( #27 )
2023-02-07 21:43:14 +01:00
Miroslav Šedivý
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
Miroslav Šedivý
ba0dea8022
switch to xkb.
2023-01-16 13:54:17 +01:00
Miroslav Šedivý
eac9796c47
no free keycodes, pick last two keycodes anyway.
2023-01-16 13:54:17 +01:00
Miroslav Šedivý
67cc23fd53
circular list for free keycodes.
2023-01-16 13:54:17 +01:00
Miroslav Šedivý
1fb5ae43dd
allow multiple users to be set in object provider.
2023-01-13 12:01:58 +01:00
Miroslav Šedivý
e5c84469ce
MemberProvider: add variable names.
2023-01-13 12:01:58 +01:00
Miroslav Šedivý
b793e5b377
add stereo to opus codec.
2023-01-12 20:34:09 +01:00
Miroslav Šedivý
2cb64d15a0
send heartbeat with ping. ( #16 )
2022-11-11 17:58:54 +01:00
Miroslav Šedivý
d894e888b8
fix generic plugin error message.
2022-10-25 22:46:21 +02:00
Miroslav Šedivý
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