Commit Graph

167 Commits

Author SHA1 Message Date
dec05eba
ffb8c6af3b Allow prime-run capture on laptop with external gpu when the iGPU
doesn't have any monitor to capture.
Fix prime-run desktop portal capture broken (fallback to external
texture).
Fallback to external texture in kms capture.
2024-08-15 08:09:23 +02:00
dec05eba
846241189e Add -portal-session-token-filepath option to specify where desktop portal session token is saved/restore 2024-08-08 01:45:35 +02:00
dec05eba
844a54b43b Allow using 'default_output' / 'default_input' as audio devices (-a option), add --list-audio-devices option 2024-08-02 00:14:01 +02:00
dec05eba
b1d8346ed9 Move glClear and glx/eglSwapBuffers from capture backends to main 2024-07-26 10:55:24 +02:00
dec05eba
7d719a44c6 Fix hdr capture causing crash when in replay mode 2024-07-23 18:11:38 +02:00
dec05eba
e9343cce91 Fix pipewire capture on amd (fallback to no drm modifiers if eglCreateImage fails), might happen because of a buggy desktop portal/pipewire implementation 2024-07-22 17:20:09 +02:00
dec05eba
b5b4d6b2bd Fix portal capture on intel, support multiple planes in one egl image (might fix capture on intel iris) 2024-07-22 04:58:41 +02:00
dec05eba
b077177081 Portal: move modifier query to init 2024-07-22 02:31:12 +02:00
dec05eba
37107bac8d Fix deskto portal capture on nvidia (add missing modifiers) 2024-07-22 01:24:23 +02:00
dec05eba
f9a41041ec Fix HDR capture (HDR metadata is now correct). Note that HDR capture is only available on Wayland and when recording a monitor without the desktop portal option 2024-07-21 19:12:06 +02:00
dec05eba
d2b172dd9c Return status code from dbus instead of true/false 2024-07-20 00:39:02 +02:00
dec05eba
637d306a24 Stop recording when pipewire target window is closed or when pressing close in the desktop environments record button 2024-07-19 22:08:04 +02:00
dec05eba
463c1d61f0 Portal: make resizing not glitched, clear background on resize, proper handling of multithreaded plane fd 2024-07-17 20:54:37 +02:00
dec05eba
e286a1dd24 Add --list-supported-capture-options option, for use by gpu screen recorder gtk 2024-07-17 16:35:53 +02:00
dec05eba
048b8d21ec Add support for desktop portal capture (-w portal) 2024-07-15 19:02:34 +02:00
dec05eba
b9fa7f2fa2 Separate video encoding method from capture method
With this instead of kms_cuda/kms_vaapi/kms_software and
xcomposite_cuda/xcomposite_vaapi/xcomposite_software there
is now only kms and xcomposite.
2024-07-05 10:33:47 +02:00
dec05eba
62d61fda12 Add support for software video encoding with '-encoder cpu' option, currently h264 only 2024-07-04 01:35:03 +02:00
dec05eba
46da55b1ea fm content: make sure to capture frame on damage and then no damage after fps frame timeout 2024-06-21 23:01:00 +02:00
dec05eba
ab78e56872 Add -fm 'content' option to match fps to captured content, only x11 window capture currently supported 2024-06-21 22:18:23 +02:00
dec05eba
3e2e2444d9 Properly cut out cursor outside video area when dealing with hevc amd padding 2024-06-14 02:05:54 +02:00
dec05eba
e43934e2d2 Remove video_alignment_padding variable, replace with putting capture content in the center with frame resolution and capture resolution diff 2024-06-10 18:41:05 +02:00
dec05eba
adbd5d9766 Take amd hevc video alignment padding into consideration to move video content to center of video with black bars on all sides instead of only right/bottom 2024-06-10 17:51:09 +02:00
dec05eba
f02f5a9d00 Re-enable intel arc fix (but only for intel systems) 2024-06-10 16:55:47 +02:00
dec05eba
e4832f3d64 Revert "Fix screen capture on intel arc gpu (on x11 and wayland)"
This reverts commit f8453bcaa4.
2024-06-10 16:44:04 +02:00
dec05eba
c17a717326 Workaround amd driver bug: hevc ffmpeg/mesa misaligned resolution causing glitched video output on right/bottom side 2024-06-10 12:44:40 +02:00
dec05eba
3f0a58a1e6 Do not require a valid drm plane to capture a window on amd/intel x11 2024-06-10 12:28:53 +02:00
dec05eba
f8453bcaa4 Fix screen capture on intel arc gpu (on x11 and wayland) 2024-06-09 23:35:48 +02:00
dec05eba
7e239c8aa2 Test latency comp 2024-04-15 20:30:41 +02:00
dec05eba
b554628099 Revert "Testing audio latency compensation"
This reverts commit 2692a7d22c.
2024-04-14 00:53:15 +02:00
dec05eba
2692a7d22c Testing audio latency compensation 2024-04-14 00:02:47 +02:00
dec05eba
ddac6acaf2 Fix messed up audio on some distros (those using pulseaudio?) 2024-04-11 18:46:34 +02:00
dec05eba
52688dad72 Time based audio latency, test, might fix some shits 2024-04-11 14:40:27 +02:00
dec05eba
c2af57a978 Destroy glx context on fail/deinit 2024-03-21 10:49:15 +01:00
dec05eba
ba096a3ba7 Add -cursor option to not record cursor 2024-03-11 19:01:46 +01:00
dec05eba
877465a702 Use dri card matching current egl context 2024-03-10 23:15:57 +01:00
dec05eba
f3c32a880a Fix cursor capture in nvidia wayland, hdr, clear background immediately in window capture 2024-03-10 20:59:17 +01:00
dec05eba
45ad3695b6 Refactor capture base 2024-03-09 18:54:53 +01:00
dec05eba
a3fedae329 Draw cursor in window capture 2024-03-09 16:59:09 +01:00
dec05eba
5e05bbbbcb Refactor xcomposite
Move common code between cuda/vaapi implementations
into xcomposite file.
This also fixes limited/full range colors on nvidia.
2024-03-09 15:36:45 +01:00
dec05eba
3d9a706528 Set frame size to video codec context size, nicer rgb to nv12 2024-03-08 11:35:30 +01:00
dec05eba
0d89378021 Use opengl capture for nvfbc (prepare for vulkan capture without cuda) 2024-03-08 11:35:26 +01:00
dec05eba
d0c221a233 Refactor kms_vaapi and kms_cuda
Also fixes color metadata, color range and hdr on nvidia wayland.
2024-03-08 11:34:36 +01:00
dec05eba
463d5b5a25 nvidia wayland: add hdr metadata 2024-02-11 17:49:36 +01:00
dec05eba
7844785eef Remove dependency on egl in nvfbc 2024-02-11 15:44:15 +01:00
dec05eba
985d96bf89 Fix nvfbc capture crash on start 2024-02-11 15:33:55 +01:00
dec05eba
b8843395ac Add screen rotation support (tested on amd/intel)
screen rotation in wayland is best effort,
wayland doesn't give the necessary information to make it robust.
2024-02-10 03:48:43 +01:00
dec05eba
ac73d9cb13 Remove wayland capture (wlroots) 2024-02-09 00:38:23 +01:00
dec05eba
3eb7bae12c Move card path to egl struct, use egl struct for monitor enumeration 2024-02-09 00:23:52 +01:00
dec05eba
d1c49f35a5 Window capture: clear background with black color 2024-02-08 19:06:09 +01:00
dec05eba
017fd0a37d Add support for hdr capture on amd/intel
Nvidia support will be added in the future.
Note that hdr metadata is missing from the output file as
amd and intel both have bugged drivers that dont add hdr metadata
to the output file.
Need to find a workaround for this (patching the video bitstream?).

Add -cr limited|full, to set color range
2024-02-06 02:43:47 +01:00