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)
42 PipeWireBaseEncodedStream(
QObject *parent =
nullptr);
43 ~PipeWireBaseEncodedStream()
override;
45 void setNodeId(uint nodeId);
51 Fraction maxFramerate()
const;
52 void setMaxFramerate(
const Fraction &framerate);
53 void setMaxFramerate(quint32 numerator, quint32 denominator = 1);
64 void setMaxPendingFrames(
int maxBufferSize);
65 int maxBufferSize()
const;
67 bool isActive()
const;
68 void setActive(
bool active);
73 std::optional<quint8> quality()
const;
83 void setQuality(quint8 quality);
99 void setEncoder(Encoder encoder);
100 Encoder encoder()
const;
105 enum EncodingPreference {
111 Q_ENUM(EncodingPreference);
112 void setEncodingPreference(EncodingPreference profile);
115 void activeChanged(
bool active);
116 void nodeIdChanged(uint nodeId);
117 void fdChanged(uint fd);
118 void errorFound(
const QString &error);
119 void maxFramerateChanged();
120 void maxPendingFramesChanged();
122 void encoderChanged();
125 virtual std::unique_ptr<PipeWireProduce> makeProduce() = 0;
126 EncodingPreference encodingPreference();
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:15:17 by
doxygen 1.12.0 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.