Simon Ser
9f72a6d874
Fix freeze on skipped frame
...
When a frame is skipped, we weren't destroying the wlr frame. Since
this function kicks off the next frame capture, the stream was getting
stuck.
Closes: https://github.com/emersion/xdg-desktop-portal-wlr/issues/81
2021-02-11 18:55:48 +01:00
Jan Beich
a3e203584a
screencast: prefix macros to avoid conflict with system definitions
...
In file included from ../src/screencast/wlr_screencast.c:18:
../include/pipewire_screencast.h:7:9: error: 'ALIGN' macro redefined [-Werror,-Wmacro-redefined]
#define ALIGN 16
^
/usr/include/machine/param.h:79:9: note: previous definition is here
#define ALIGN(p) _ALIGN(p)
^
2021-01-09 12:21:13 +01:00
columbarius
f0e1de02f4
Fix cursor_mode checks in screencast.c
2020-11-06 13:44:58 +01:00
columbarius
24bc68f0f2
Remove SPA_PARAM_BUFFERS_dataType
...
Don't announce a SPA_PARAM_BUFFERS_dataType. This is reserved for consumer
2020-11-04 11:09:09 -05:00
columbarius
dafb25fdb1
Update to wlr-screencopy-unstable-v1 version 3
2020-10-19 23:40:30 +02:00
columbarius
c2883a4e43
Add pipewire buffers_dataType parameter in pipwire_screencast.c
2020-09-19 10:22:44 +02:00
Manuel Romei
25e7719d18
Revert "Remove unnecessary check from wlr_screencast.c" ( #54 )
...
* Revert "Remove unnecessary check from wlr_screencast.c"
This reverts commit cc59abb124
.
Fixes emersion/xdg-desktop-portal-wlr#50
* Clarify why the check in wlr_screencast is needed
2020-09-11 10:38:04 -04:00
columbarius
61db8968f9
Fix linewidth in wlr_screencast.c
2020-08-23 20:06:47 +02:00
columbarius
cc59abb124
Remove unnecessary check from wlr_screencast.c
2020-08-18 15:47:44 +02:00
columbarius
5ea10ef253
Remove TODO from wlr_sreencast.c
2020-08-18 15:47:44 +02:00
columbarius
a8d12c6163
Rename wlr_frame_buffer_clear to wlr_frame_buffer_destroy in wlr_screencast.c
2020-08-18 15:47:44 +02:00
columbarius
24a793135c
Add comments to wlr_frame_buffer_clear in wlr_screencast.c
2020-08-18 15:47:44 +02:00
columbarius
06aa0a0bda
Change loglevel for existing buffer in wlr_screencast.c
2020-08-18 15:47:44 +02:00
columbarius
15e30ed35d
Remove unecessary checks in wlr_screencast.c
2020-08-18 15:47:44 +02:00
columbarius
c6253415c0
Add functions to clean simple_buffer.{data,buffer} in wlr_screencast.c
2020-08-18 15:47:44 +02:00
columbarius
f23e9e4921
Change refresh logic and add tests in wlr_screencast.c
2020-08-18 15:47:44 +02:00
columbarius
9d4193e5b2
Refresh buffer on change in wlr_screencast.c
2020-08-18 15:47:44 +02:00
columbarius
9c353d6cfb
Fix log messages in wlr_screencast.c
2020-08-18 15:47:44 +02:00
columbarius
1245e9c353
munmap simple_frame.data only if needed in wlr_screencast.c
2020-08-18 15:47:44 +02:00
columbarius
4c20660f74
Only recreate simple_frame on change in wlr_screencast.c
2020-08-18 15:47:44 +02:00
columbarius
e57beee43d
Destroy wlr_buffer only on quit or error in wlr_screencast.c
2020-08-18 15:47:44 +02:00
Marian Buschsieweke
1e92d603a8
core/main: Clean up option handling
...
- Add a missing space in the usage string
- Drop short option "p", which is unused
2020-05-26 17:02:56 +02:00
Marian Buschsieweke
4cd31295cf
core/main: Use EXIT_FAILURE / EXIT_SUCCESS
2020-05-26 12:58:13 +02:00
Marian Buschsieweke
05f44e7a7d
core/main: Add static qualifier to internal func
2020-05-26 12:58:13 +02:00
Marian Buschsieweke
a105e0e363
core: fix error handling in main
...
The error handling at the `error:` label tears down the whole state. Thus, the
state needs to be fully initialized in order for the tear down to succeed.
Currently, if e.g. `sd_bus_open_user()` fails, a `segfault` is triggered by
the tear down. This commit adds individual tear down code that only touches
stuff that until that point was successfully initialized.
2020-05-21 16:44:47 +02:00
Simon Ser
f5bfe9fe12
Replace void * with correct type in start_screencast
2020-05-05 10:00:10 -04:00
Simon Ser
a7ea407e2f
Remove --pixelformat flag
...
This hack is not needed anymore.
2020-05-05 10:00:10 -04:00
Simon Ser
26b6bf69aa
Advertise format with alpha channel stripped
2020-05-05 10:00:10 -04:00
Dan Shick
229a34a9fe
Globally define _POSIX_C_SOURCE in meson.build
...
Fix musl issue with time.h
2020-04-23 09:53:34 +02:00
Dan Shick
f6d14d9206
Check cast instance refcount before attaching
2020-04-21 14:45:55 +02:00
danshick
55f873dac4
Screencast session support ( #22 )
...
* Initial session support WIP
Remove libdrm dependency
Remove display from context, add dbus properties
Use random names for shm and pw_stream, init the stream only for new cast instances
Separate cast initialized flag from refcount, cleanup names and comments
* Refactor and stability improvements
Properly report xdp screencast implementation version
2020-04-16 10:21:55 +02:00
Dan Shick
ccc8a31568
Remove pipewire workarounds after upstream fix
2020-04-01 13:38:38 -04:00
Dan Shick
bba347be4c
Add pipewire 0.3 support. Workaround pipewire bugs.
2020-03-16 22:43:45 +01:00
Dan Shick
45699637d1
Fix CI with libpipewire02, libdrm. Remove png.h unused import. Cleanup style.
2020-03-13 21:01:32 +01:00
Dan Shick
c0da39f022
Add proper event loop. Remove last threads. Update CI with pipewire.
2020-03-13 21:01:32 +01:00
Dan Shick
eb229b708e
Remove thread for pipewire and all locking. Add support for elogind in meson.
2020-03-13 21:01:32 +01:00
Dan Shick
b0c50ff911
Add proper logging
2020-03-13 21:01:32 +01:00
Dan Shick
080d519a0d
Add xdg_output protocol for output selection
2020-03-13 21:01:32 +01:00
Dan Shick
7b699f3344
Use variable framerate, add CLI option to override pixelformat metadata
2020-03-13 21:01:32 +01:00
Dan Shick
2a31d2d922
Add thread for wlr screensharing
2020-03-13 21:01:32 +01:00