diff --git a/src/stream.h b/src/stream.h --- a/src/stream.h +++ b/src/stream.h @@ -42,6 +42,7 @@ Q_PROPERTY(QPulseAudio::Client *client READ client NOTIFY clientChanged) Q_PROPERTY(bool virtualStream READ isVirtualStream NOTIFY virtualStreamChanged) Q_PROPERTY(quint32 deviceIndex READ deviceIndex WRITE setDeviceIndex NOTIFY deviceIndexChanged) + Q_PROPERTY(bool corked READ isCorked NOTIFY corkedChanged) public: template void updateStream(const PAInfo *info) @@ -68,20 +69,26 @@ m_virtualStream = info->client == PA_INVALID_INDEX; emit virtualStreamChanged(); } + if (m_corked != info->corked) { + m_corked = info->corked; + emit corkedChanged(); + } } QString name() const; Client *client() const; bool isVirtualStream() const; quint32 deviceIndex() const; + bool isCorked() const; virtual void setDeviceIndex(quint32 deviceIndex) = 0; signals: void nameChanged(); void clientChanged(); void virtualStreamChanged(); void deviceIndexChanged(); + void corkedChanged(); protected: Stream(QObject *parent); @@ -93,6 +100,7 @@ QString m_name; quint32 m_clientIndex; bool m_virtualStream; + bool m_corked; }; } // QPulseAudio diff --git a/src/stream.cpp b/src/stream.cpp --- a/src/stream.cpp +++ b/src/stream.cpp @@ -27,6 +27,7 @@ : VolumeObject(parent) , m_clientIndex(PA_INVALID_INDEX) , m_virtualStream(false) + , m_corked(false) { m_volumeWritable = false; m_hasVolume = false; @@ -56,4 +57,9 @@ return m_deviceIndex; } +bool Stream::isCorked() const +{ + return m_corked; +} + } // QPulseAudio