diff --git a/spa/plugins/libcamera/libcamera-device.cpp b/spa/plugins/libcamera/libcamera-device.cpp index f3fc0b4e9..ce29671bd 100644 --- a/spa/plugins/libcamera/libcamera-device.cpp +++ b/spa/plugins/libcamera/libcamera-device.cpp @@ -22,7 +22,6 @@ #include #include "libcamera.hpp" -#include "libcamera-manager.hpp" #include #include diff --git a/spa/plugins/libcamera/libcamera-manager.cpp b/spa/plugins/libcamera/libcamera-manager.cpp index 277a680b3..9dc4ce49f 100644 --- a/spa/plugins/libcamera/libcamera-manager.cpp +++ b/spa/plugins/libcamera/libcamera-manager.cpp @@ -26,7 +26,6 @@ using namespace libcamera; #include #include "libcamera.hpp" -#include "libcamera-manager.hpp" namespace { @@ -388,22 +387,3 @@ const struct spa_handle_factory spa_libcamera_manager_factory = { impl_enum_interface_info, }; } - -std::shared_ptr libcamera_manager_acquire(int& res) -{ - static std::weak_ptr global_manager; - static std::mutex lock; - - std::lock_guard guard(lock); - - if (auto manager = global_manager.lock()) - return manager; - - auto manager = std::make_shared(); - if ((res = manager->start()) < 0) - return {}; - - global_manager = manager; - - return manager; -} diff --git a/spa/plugins/libcamera/libcamera-manager.hpp b/spa/plugins/libcamera/libcamera-manager.hpp deleted file mode 100644 index 71ebd6f8d..000000000 --- a/spa/plugins/libcamera/libcamera-manager.hpp +++ /dev/null @@ -1,9 +0,0 @@ -/* Spa libcamera support */ -/* SPDX-FileCopyrightText: Copyright © 2021 Wim Taymans */ -/* SPDX-License-Identifier: MIT */ - -#include - -#include - -std::shared_ptr libcamera_manager_acquire(int& res); diff --git a/spa/plugins/libcamera/libcamera-source.cpp b/spa/plugins/libcamera/libcamera-source.cpp index e4ed7f2ec..f027f661e 100644 --- a/spa/plugins/libcamera/libcamera-source.cpp +++ b/spa/plugins/libcamera/libcamera-source.cpp @@ -43,7 +43,6 @@ #include #include "libcamera.hpp" -#include "libcamera-manager.hpp" using namespace libcamera; diff --git a/spa/plugins/libcamera/libcamera.cpp b/spa/plugins/libcamera/libcamera.cpp index 3ea094e90..93671159a 100644 --- a/spa/plugins/libcamera/libcamera.cpp +++ b/spa/plugins/libcamera/libcamera.cpp @@ -2,6 +2,11 @@ /* SPDX-FileCopyrightText: Copyright © 2020 collabora */ /* SPDX-License-Identifier: MIT */ +#include +#include + +#include + #include #include @@ -38,3 +43,22 @@ int spa_handle_factory_enum(const struct spa_handle_factory **factory, } } + +std::shared_ptr libcamera_manager_acquire(int& res) +{ + static std::weak_ptr global_manager; + static std::mutex lock; + + std::lock_guard guard(lock); + + if (auto manager = global_manager.lock()) + return manager; + + auto manager = std::make_shared(); + if ((res = manager->start()) < 0) + return {}; + + global_manager = manager; + + return manager; +} diff --git a/spa/plugins/libcamera/libcamera.hpp b/spa/plugins/libcamera/libcamera.hpp index 0d74df21e..9b1089182 100644 --- a/spa/plugins/libcamera/libcamera.hpp +++ b/spa/plugins/libcamera/libcamera.hpp @@ -4,6 +4,10 @@ #pragma once +#include + +#include + #include extern "C" { @@ -22,3 +26,5 @@ static inline void libcamera_log_topic_init(struct spa_log *log) { spa_log_topic_init(log, &libcamera_log_topic); } + +std::shared_ptr libcamera_manager_acquire(int& res);