Loading...
Searching...
No Matches
PipewireInputDevice.hpp
1#pragma once
2
3#include <Device/Protocol/DeviceInterface.hpp>
4#include <Device/Protocol/DeviceSettings.hpp>
5
6#include <Gfx/GfxInputDevice.hpp>
7#include <Gfx/SharedInputSettings.hpp>
8
9#include <score_plugin_gfx_export.h>
10
11#include <memory>
12
13namespace Video
14{
15class ExternalInput;
16}
17
18namespace Gfx::PipeWire
19{
20
29{
30 SCORE_CONCRETE("cf6a355f-34d1-4d24-a6ea-3d204f93cde9")
31public:
32 QString prettyName() const noexcept override;
33 QUrl manual() const noexcept override;
34
35 Device::DeviceInterface* makeDevice(
36 const Device::DeviceSettings& settings,
37 const Explorer::DeviceDocumentPlugin& plugin,
38 const score::DocumentContext& ctx) override;
39 const Device::DeviceSettings& defaultSettings() const noexcept override;
40
41 Device::DeviceEnumerators
42 getEnumerators(const score::DocumentContext& ctx) const override;
43
44 Device::ProtocolSettingsWidget* makeSettingsWidget() override;
45};
46
47class PipeWireDevice;
48
55SCORE_PLUGIN_GFX_EXPORT
56std::shared_ptr<::Video::ExternalInput> makePipewireCapture(const QString& path);
57
61SCORE_PLUGIN_GFX_EXPORT
62QString pipewireInputNegotiatedTransport(::Video::ExternalInput& input);
63
64} // namespace Gfx::PipeWire
Definition DeviceInterface.hpp:107
Definition ProtocolSettingsWidget.hpp:27
Definition PipewireInputDevice.hpp:29
Definition PipewireInputDevice.cpp:1316
Definition SharedInputSettings.hpp:26
Definition ExternalInput.hpp:11
Definition DeviceSettings.hpp:20
Definition DocumentContext.hpp:18