Commit Graph

29 Commits

Author SHA1 Message Date
tt2468
b1ce755210
Add glib main loop to capture manager (#383)
The gstreamer documentation is not particularly amazing on whether or
not this is necessary, but it's clear that some gstreamer events will
not be delivered to their handlers without a running glib loop. This
runs one loop for all pipelines, which should be more than enough.

Disclaimer: This may conflict in demodesk/neko with the dragdrop
feature. Anyone backporting this bug fix to that repo should
investigate whether the loop created by `gtk_main()` will conflict with
this one before blindly porting.

Fixes #380
Fixes #284
2024-03-27 21:35:04 +01:00
tt2468
2b13220d63
Fix buffer overflow in Gstreamer log function (#382)
vsprintf() is dangerous, and can overflow easily, especially with small
buffers like the 100 byte one that was being used. This changes the
buffer size to a more sane 4KiB, and uses vsnprintf() to automatically
concatenate a large log message instead of overflowing and crashing.
2024-03-27 21:32:47 +01:00
Miroslav Šedivý
8308c13382 update nvenc pipeline. 2023-04-01 22:59:39 +02:00
mbattista
ec175909a3 improve quality a little bit 2023-04-01 22:59:39 +02:00
mbattista
d2f51fa10f add h264parse to nvidia pipeline 2023-04-01 22:59:39 +02:00
Miroslav Šedivý
70325e0277 add nvenc pipeline. 2023-04-01 22:59:39 +02:00
Miroslav Šedivý
3c17dbe282 h264 encoding profile constrained-baseline, #109. 2023-03-31 21:43:20 +02:00
Miroslav Šedivý
009ceddbd3 gst: move sample channel to AttachAppsink. 2023-01-29 20:31:00 +01:00
mbattista
fdf17cfe77 channel should not close on destroy 2023-01-29 20:31:00 +01:00
mbattista
628c6a1b77 remove wait timer from goroutine 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
79a1c41938 ensure fps is not 0. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
8d0468ea62 codec is video & audio. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
f3080713ce join GetScreenSizeChangeChannel. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
6e62b796fc remove unused channels. 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
4094639ea9 adaptive fps moved to pipeline creation. 2023-01-29 20:31:00 +01:00
mbattista
c45a315d9b removed adaptive framerate tag and react to closed channels 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
ee13e40d4c go fmt. 2023-01-29 20:31:00 +01:00
mbattista
161d121e59 channel direct from the pipeline 2023-01-29 20:31:00 +01:00
mbattista
5690a849e2 remove go-events 2023-01-29 20:31:00 +01:00
Miroslav Šedivý
9f26b27d5d fix capture logging. 2022-09-24 14:21:32 +02:00
Miroslav Šedivý
d06740aa96 auto broadcast started. 2022-09-21 18:59:38 +02:00
Miroslav Šedivý
da86a0931c pipelineFn returns string. 2022-09-21 18:58:28 +02:00
Miroslav Šedivý
fd43f84bd0 refactor capture with broadcast. 2022-09-17 18:37:30 +02:00
Miroslav Šedivý
2afc356911 capture use SetScreenSize. 2022-09-13 21:40:50 +02:00
Miroslav Šedivý
4c1c96b163 xorg refactor. 2022-09-13 21:40:40 +02:00
Miroslav Šedivý
deabba80ca move pipelines from gst to capture. 2022-09-13 20:35:53 +02:00
Miroslav Šedivý
29f67fad06 move config from types. 2022-09-13 20:35:53 +02:00
Miroslav Šedivý
c0ca073b2d move gst and broadcast under capture. 2022-09-13 20:35:53 +02:00
Miroslav Šedivý
de4f6b45e5 split remote to desktop and capture. 2022-09-13 20:35:53 +02:00