pipewire/src/gst
Jakub Adam c64bf36e8e gst: avoid crash with zero SPA_PARAM_BUFFERS_size
With sending and receiving pipelines:

  gst-launch videotestsrc ! tee !  pipewiresink mode=provide

  gst-launch pipewiresrc path=<node_id> ! videoconvert ! autovideosink

The first pipeline crashes when the other connects.

It happens because SPA_PARAM_BUFFERS_size passed to
pw_stream_update_params() upon pipewiresink's buffer pool activation is
zero. As a consequence, in gst_pipewire_pool_wrap_buffer(), d->type will
be SPA_ID_INVALID and the created GstBuffer will have no memory
appended. This ultimately leads to segfault in do_send_buffer().

If size hasn't been set in GstPipeWirePool's config before the
first buffer is to be rendered by pipewiresink, configure the pool with
the size of that first incoming buffer and activate the pool.
2021-01-28 20:50:07 +01:00
..
.editorconfig add .editorconfig files 2019-02-13 11:19:21 +01:00
gstpipewire.c gst: add option to disable device provider 2020-10-13 12:40:48 +02:00
gstpipewireclock.c gst: always use the clock time 2020-04-23 12:38:05 +02:00
gstpipewireclock.h gst: replace tabs with spaces 2019-12-19 15:42:42 +01:00
gstpipewirecore.c improve some errors 2020-11-29 16:22:50 +01:00
gstpipewirecore.h gst: share the core between connections 2020-07-13 18:38:19 +02:00
gstpipewiredeviceprovider.c improve some errors 2020-11-29 16:22:50 +01:00
gstpipewiredeviceprovider.h gst: fix NULL pointer when listing devices 2019-12-19 15:43:00 +01:00
gstpipewireformat.c Fix some possible-NULL pointer usage. 2020-11-23 15:36:08 +00:00
gstpipewireformat.h gst: replace tabs with spaces 2019-12-19 15:42:42 +01:00
gstpipewirepool.c gst: don't share memory 2020-08-11 16:10:00 +02:00
gstpipewirepool.h gst: support VideoCrop meta 2020-07-31 11:44:46 +02:00
gstpipewiresink.c gst: avoid crash with zero SPA_PARAM_BUFFERS_size 2021-01-28 20:50:07 +01:00
gstpipewiresink.h gst: share the core between connections 2020-07-13 18:38:19 +02:00
gstpipewiresrc.c gst: set node.name and node.description based on client-name property 2020-12-26 10:11:42 +01:00
gstpipewiresrc.h gst: don't do set_caps from the pipewire callback 2020-08-06 13:03:40 +02:00
meson.build gst: add option to disable device provider 2020-10-13 12:40:48 +02:00