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  Device::DeviceInterface* makeDevice(
33  const Device::DeviceSettings& settings,
34  const Explorer::DeviceDocumentPlugin& plugin,
35  const score::DocumentContext& ctx) override;
36  const Device::DeviceSettings& defaultSettings() const noexcept override;
37  Device::AddressDialog* makeAddAddressDialog(
38  const Device::DeviceInterface& dev, const score::DocumentContext& ctx,
39  QWidget* parent) override;
40  Device::AddressDialog* makeEditAddressDialog(
42  const score::DocumentContext& ctx, QWidget*) override;
43 
44  Device::ProtocolSettingsWidget* makeSettingsWidget() override;
45 
46  QVariant makeProtocolSpecificSettings(const VisitorVariant& visitor) const override;
47 
48  void serializeProtocolSpecificSettings(
49  const QVariant& data, const VisitorVariant& visitor) const override;
50 
51  bool checkCompatibility(
52  const Device::DeviceSettings& a,
53  const Device::DeviceSettings& b) const noexcept override;
54 };
55 
56 }
57 
58 SCORE_SERIALIZE_DATASTREAM_DECLARE(, Gfx::LibavOutputSettings);
59 Q_DECLARE_METATYPE(Gfx::LibavOutputSettings)
60 W_REGISTER_ARGTYPE(Gfx::LibavOutputSettings)
61 #endif
Definition: ProtocolSettingsWidget.hpp:41
Definition: DeviceInterface.hpp:66
Definition: ProtocolFactoryInterface.hpp:44
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:16
Definition: LibavOutputSettings.hpp:16
The VisitorVariant struct.
Definition: VisitorInterface.hpp:26
Definition: DocumentContext.hpp:18