Loading...
Searching...
No Matches
PipewireOutputDevice.hpp
1#pragma once
2
3#include <Device/Protocol/DeviceInterface.hpp>
4#include <Device/Protocol/DeviceSettings.hpp>
5
6#include <Gfx/GfxDevice.hpp>
7#include <Gfx/SharedOutputSettings.hpp>
8
9#include <score_plugin_gfx_export.h>
10
11namespace score::gfx
12{
13class OutputNode;
14}
15
16namespace Gfx::PipeWire
17{
18
28{
29 SCORE_CONCRETE("d5e7b22b-b7f6-4680-9610-2457509b7946")
30public:
31 QString prettyName() const noexcept override;
32 QUrl manual() const noexcept override;
33
34 Device::DeviceInterface* makeDevice(
35 const Device::DeviceSettings& settings,
36 const Explorer::DeviceDocumentPlugin& plugin,
37 const score::DocumentContext& ctx) override;
38
39 const Device::DeviceSettings& defaultSettings() const noexcept override;
40
41 Device::ProtocolSettingsWidget* makeSettingsWidget() override;
42};
43
51SCORE_PLUGIN_GFX_EXPORT
52score::gfx::OutputNode* makePipewireOutput(const Gfx::SharedOutputSettings& s);
53
56SCORE_PLUGIN_GFX_EXPORT
57bool pipewireOutputDmabufEngaged(const score::gfx::OutputNode& node);
58
65SCORE_PLUGIN_GFX_EXPORT
66int pipewireOutputFramesQueued(const score::gfx::OutputNode& node);
67
68} // namespace Gfx::PipeWire
Definition DeviceInterface.hpp:107
Definition ProtocolSettingsWidget.hpp:27
Definition PipewireOutputDevice.hpp:28
Definition SharedOutputSettings.hpp:28
Base class for sink nodes (QWindow, spout, syphon, NDI output, ...)
Definition OutputNode.hpp:54
Graphics rendering pipeline for ossia score.
Definition Filter/PreviewWidget.hpp:11
Definition DeviceSettings.hpp:20
Definition SharedOutputSettings.hpp:19
Definition DocumentContext.hpp:18