pipewire/spa
Javier Martinez Canillas 21c412dc49
libcamera: fix a use-after-free due an attempt to stop the camera twice
Camera is currently stopped and started in the spa_libcamera_set_format()
function, but this leads to a segfault due attempting to access a buffers
field of an already freed libcamera::FrameBufferAllocator instance.

The FrameBufferAllocator instance is freed in LibCamera::stop(), that is
called by spa_libcamera_stream_off() as handler of the node commands
SPA_NODE_COMMAND_Pause and SPA_NODE_COMMAND_Suspend.

Since the camera was already stopped, there's no need to attempt to stop
it again. In fact, the camera shouldn't be stopped/started at all in the
spa_libcamera_set_format() function but instead only as an action of the
SPA_NODE_COMMAND_{Pause,Suspend} and SPA_NODE_COMMAND_Start commands.

And same for the stop that's done in the LibCamera::close() function, it
shouldn't be needed because the camera is already stopped before closing.

Fixes #1513
2021-09-21 14:49:08 +02:00
..
examples meson.build: add -D_GNU_SOURCE to the project arguments 2021-06-09 07:47:51 +00:00
include dsd: show rate in bytes per seconds. 2021-09-21 12:25:42 +02:00
plugins libcamera: fix a use-after-free due an attempt to stop the camera twice 2021-09-21 14:49:08 +02:00
tests Revert "[Meson] Fix all deprecation warnings" 2021-08-08 19:18:40 +00:00
tools json: don't escape / 2021-06-24 16:18:59 +02:00
meson.build bluez5: Use libfreeaptx instead of libopenaptx 2021-07-29 15:22:04 +00:00