KPipewire

pipewirerecord.h
1/*
2 SPDX-FileCopyrightText: 2022 Aleix Pol Gonzalez <aleixpol@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#pragma once
8
9#include <QObject>
10#include <qqmlintegration.h>
11
12#include "pipewirebaseencodedstream.h"
13#include <kpipewire_export.h>
14
15struct PipeWireRecordPrivate;
16
17class KPIPEWIRE_EXPORT PipeWireRecord : public PipeWireBaseEncodedStream
18{
19 Q_OBJECT
20 QML_ELEMENT
21 Q_PROPERTY(QString output READ output WRITE setOutput NOTIFY outputChanged)
22 Q_PROPERTY(QString extension READ extension NOTIFY encoderChanged)
23public:
24 PipeWireRecord(QObject *parent = nullptr);
25 ~PipeWireRecord() override;
26
27 QString output() const;
28 void setOutput(const QString &output);
29 QString extension() const;
30
31 // Only for compatibility with 5.27
32 KPIPEWIRE_DEPRECATED QString currentExtension() const
33 {
34 return extension();
35 }
36
37Q_SIGNALS:
38 void outputChanged(const QString &output);
39
40private:
41 std::unique_ptr<PipeWireProduce> makeProduce() override;
42
43 QScopedPointer<PipeWireRecordPrivate> d;
44};
Q_PROPERTY(...)
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri May 2 2025 12:00:27 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.