11#include <kpipewire_export.h>
14struct PipeWireEncodedStreamPrivate;
17class KPIPEWIRE_EXPORT PipeWireBaseEncodedStream :
public QObject
21 Q_PROPERTY(uint nodeId READ nodeId WRITE setNodeId NOTIFY nodeIdChanged)
27 Q_PROPERTY(uint fd READ fd WRITE setFd NOTIFY fdChanged)
28 Q_PROPERTY(
bool active READ isActive WRITE setActive NOTIFY activeChanged)
30 Q_PROPERTY(Encoder encoder READ encoder WRITE setEncoder NOTIFY encoderChanged)
44 PipeWireBaseEncodedStream(
QObject *parent =
nullptr);
45 ~PipeWireBaseEncodedStream()
override;
47 void setNodeId(uint nodeId);
53 Fraction maxFramerate()
const;
54 void setMaxFramerate(
const Fraction &framerate);
55 void setMaxFramerate(quint32 numerator, quint32 denominator = 1);
66 void setMaxPendingFrames(
int maxBufferSize);
67 int maxBufferSize()
const;
69 bool isActive()
const;
70 void setActive(
bool active);
75 std::optional<quint8> quality()
const;
85 void setQuality(quint8 quality);
101 void setEncoder(Encoder encoder);
102 Encoder encoder()
const;
107 enum EncodingPreference {
113 Q_ENUM(EncodingPreference);
114 void setEncodingPreference(EncodingPreference profile);
117 void activeChanged(
bool active);
118 void nodeIdChanged(uint nodeId);
119 void fdChanged(uint fd);
120 void errorFound(
const QString &error);
121 void maxFramerateChanged();
122 void maxPendingFramesChanged();
124 void encoderChanged();
127 virtual std::unique_ptr<PipeWireProduce> makeProduce() = 0;
128 EncodingPreference encodingPreference();
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 17:05:20 by
doxygen 1.12.0 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.