pipewire/spa
Barnabás Pőcze cc229d4b05 spa: libcamera: properly construct/deconstruct libcamera device impl
Previously, the "impl" object was never properly constructed or
destructed, but it more or less worked out since the memory was initialized
to zero bytes and each member had trivial constructors. Except std::shared_ptr,
but an all zero storage happened to be equivalent to a default constructed
shared_ptr.

However, there was the still the problem that the shared_ptr was never
destructed, so it kept the referenced `Camera` object alive, which lead
to memory leaks.

An additional, somewhat unrelated change is that the "props" struct
is removed, and the device identifier is now stored in an `std::string`.
The reason is that `CameraManager::get()` already takes a const std::string reference,
so an std::string must be constructed in any case, so we might as well
take advantage of that and use `std::string` in the "impl" object as well.

Furthermore, wrap the `impl` struct in an anonymous namespace
to avoid name resolution problems.
2022-09-15 11:17:47 +00:00
..
examples examples: fix spelling mistake 2022-06-16 16:40:47 +02:00
include bluez5: Add LC3 codec support to LE Audio BAP 2022-09-15 11:17:20 +00:00
plugins spa: libcamera: properly construct/deconstruct libcamera device impl 2022-09-15 11:17:47 +00:00
tests Add support for MidnightBSD 2022-06-19 18:22:47 +00:00
tools spa: tools: spa-inspect: clear and free handles 2022-06-16 16:59:40 +02:00
meson.build bluez5: Add LC3 codec support to LE Audio BAP 2022-09-15 11:17:20 +00:00