Milestone1
This commit is contained in:
parent
a1094ab7ea
commit
4addf989cc
17 changed files with 2876 additions and 0 deletions
85
src/pipewire/nodeinfo.h
Normal file
85
src/pipewire/nodeinfo.h
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
#pragma once
|
||||
|
||||
#include <QString>
|
||||
#include <QVector>
|
||||
#include <cstdint>
|
||||
#include <QtGlobal>
|
||||
|
||||
namespace Potato {
|
||||
|
||||
enum class NodeType {
|
||||
Unknown,
|
||||
Hardware,
|
||||
Virtual,
|
||||
Application,
|
||||
Bus
|
||||
};
|
||||
|
||||
enum class MediaClass {
|
||||
Unknown,
|
||||
AudioSink,
|
||||
AudioSource,
|
||||
AudioDuplex,
|
||||
Stream
|
||||
};
|
||||
|
||||
struct PortInfo {
|
||||
uint32_t id;
|
||||
QString name;
|
||||
uint32_t direction;
|
||||
QString channelName;
|
||||
|
||||
PortInfo() : id(0), direction(0) {}
|
||||
PortInfo(uint32_t portId, const QString &portName, uint32_t portDir, const QString &channel = QString())
|
||||
: id(portId), name(portName), direction(portDir), channelName(channel) {}
|
||||
};
|
||||
|
||||
struct NodeInfo {
|
||||
uint32_t id;
|
||||
QString name;
|
||||
QString description;
|
||||
QString stableId;
|
||||
NodeType type;
|
||||
MediaClass mediaClass;
|
||||
QVector<PortInfo> inputPorts;
|
||||
QVector<PortInfo> outputPorts;
|
||||
|
||||
NodeInfo()
|
||||
: id(0)
|
||||
, type(NodeType::Unknown)
|
||||
, mediaClass(MediaClass::Unknown)
|
||||
{}
|
||||
|
||||
bool isValid() const { return id != 0; }
|
||||
|
||||
static NodeType typeFromProperties(const QString &mediaClass, const QString &appName);
|
||||
static MediaClass mediaClassFromString(const QString &str);
|
||||
};
|
||||
|
||||
struct LinkInfo {
|
||||
uint32_t id;
|
||||
uint32_t outputNodeId;
|
||||
uint32_t outputPortId;
|
||||
uint32_t inputNodeId;
|
||||
uint32_t inputPortId;
|
||||
|
||||
LinkInfo()
|
||||
: id(0)
|
||||
, outputNodeId(0)
|
||||
, outputPortId(0)
|
||||
, inputNodeId(0)
|
||||
, inputPortId(0)
|
||||
{}
|
||||
|
||||
LinkInfo(uint32_t linkId, uint32_t outNode, uint32_t outPort, uint32_t inNode, uint32_t inPort)
|
||||
: id(linkId)
|
||||
, outputNodeId(outNode)
|
||||
, outputPortId(outPort)
|
||||
, inputNodeId(inNode)
|
||||
, inputPortId(inPort)
|
||||
{}
|
||||
|
||||
bool isValid() const { return id != 0; }
|
||||
};
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue