columbarius
bb24b226e4
screencast: respect the maximal framerate negotiated by pipewire
2021-06-23 09:32:08 +02:00
columbarius
976fa8374d
screencast: limit screencast framerate by output framerate
2021-06-23 09:32:08 +02:00
Tobias Jakobi
0d23a5ea15
screencast: move xdpw_pwr_stream_destroy() up
...
- keep the order of functions in-sync with the header
2021-05-24 10:03:40 +02:00
Tobias Jakobi
f60bdcef71
screencast: improve cleanup on error in xdpw_screencast_init()
...
- currently the cleanup can segfault due to uninitialized
list objects
- introduce xdpw_pwr_context_destroy() and fixup goto logic
2021-05-24 10:03:40 +02:00
Tobias Jakobi
d2fa4aa5e7
screencast: protect against NULL stream in xdpw_pwr_stream_destroy()
...
- this allows repeated calls of xdpw_pwr_stream_destroy() on a
single screencast instance
2021-05-24 10:03:40 +02:00
Tobias Jakobi
dbe71a66c7
screencast: bring function names in line with the wlroots guidelines
...
- no functional changes
2021-05-24 10:03:40 +02:00
Stefano Ragni
6c8f6ca78e
pipewire: Fix building EnumFormat spa object
...
Make sure that in SPA_POD_CHOICE_ENUM_Id(n_vals, ...) we always pass
exactly n_vals arguments. For this we build the object with separate
spa_pod_builder_add calls, since n_vals is known at runtime.
Fix #102
2021-03-16 15:43:47 -04:00
Simon Ser
c6d52b4412
Remove extraneous whitespace
2021-02-11 18:55:48 +01:00
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
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
c2883a4e43
Add pipewire buffers_dataType parameter in pipwire_screencast.c
2020-09-19 10:22:44 +02:00
Simon Ser
26b6bf69aa
Advertise format with alpha channel stripped
2020-05-05 10:00:10 -04: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
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
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