LibavOutputDevice.hpp
1 #pragma once
2 #include <Media/Libav.hpp>
3 #if SCORE_HAS_LIBAV
4 #include <Gfx/GfxDevice.hpp>
5 #include <Gfx/GfxExecContext.hpp>
6 #include <Gfx/GfxInputDevice.hpp>
7 #include <Gfx/Graph/VideoNode.hpp>
8 #include <Gfx/Libav/LibavOutputSettings.hpp>
9 
10 #include <ossia/gfx/texture_parameter.hpp>
11 #include <ossia/network/base/device.hpp>
12 #include <ossia/network/base/protocol.hpp>
13 
14 #include <QLineEdit>
15 
16 class QComboBox;
17 
18 // Score part
19 
20 #include <Device/Protocol/DeviceInterface.hpp>
21 #include <Device/Protocol/DeviceSettings.hpp>
22 #include <Device/Protocol/ProtocolFactoryInterface.hpp>
23 #include <Device/Protocol/ProtocolSettingsWidget.hpp>
24 
25 namespace Gfx
26 {
28 {
29  SCORE_CONCRETE("16b53d87-19dc-48d4-b3ab-7174408c7ce7")
30  QString prettyName() const noexcept override;
31  QString category() const noexcept override;
32  QUrl manual() const noexcept override;
33  Device::DeviceInterface* makeDevice(
34  const Device::DeviceSettings& settings,
35  const Explorer::DeviceDocumentPlugin& plugin,
36  const score::DocumentContext& ctx) override;
37  const Device::DeviceSettings& defaultSettings() const noexcept override;
38  Device::AddressDialog* makeAddAddressDialog(
39  const Device::DeviceInterface& dev, const score::DocumentContext& ctx,
40  QWidget* parent) override;
41  Device::AddressDialog* makeEditAddressDialog(
43  const score::DocumentContext& ctx, QWidget*) override;
44 
45  Device::ProtocolSettingsWidget* makeSettingsWidget() override;
46 
47  QVariant makeProtocolSpecificSettings(const VisitorVariant& visitor) const override;
48 
49  void serializeProtocolSpecificSettings(
50  const QVariant& data, const VisitorVariant& visitor) const override;
51 
52  bool checkCompatibility(
53  const Device::DeviceSettings& a,
54  const Device::DeviceSettings& b) const noexcept override;
55 };
56 
57 }
58 
59 SCORE_SERIALIZE_DATASTREAM_DECLARE(, Gfx::LibavOutputSettings);
60 Q_DECLARE_METATYPE(Gfx::LibavOutputSettings)
61 W_REGISTER_ARGTYPE(Gfx::LibavOutputSettings)
62 #endif
Definition: ProtocolSettingsWidget.hpp:41
Definition: DeviceInterface.hpp:66
Definition: ProtocolFactoryInterface.hpp:47
Definition: ProtocolSettingsWidget.hpp:22
Definition: LibavOutputDevice.hpp:28
Binds the rendering pipeline to ossia processes.
Definition: CameraDevice.cpp:28
Definition: AddressSettings.hpp:49
Definition: DeviceSettings.hpp:20
Definition: LibavOutputSettings.hpp:16
The VisitorVariant struct.
Definition: VisitorInterface.hpp:26
Definition: DocumentContext.hpp:18