![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
#include <qpipewire_audiosink_p.h>
Public Types | |
| using | SampleFormat = QAudioFormat::SampleFormat |
| using | SinkType = QPipewireAudioSink |
| Public Types inherited from QtMultimediaPrivate::QPlatformAudioSinkStream | |
| using | AudioCallback = QPlatformAudioSink::AudioCallback |
| enum class | ShutdownPolicy |
Public Member Functions | |
| QPipewireAudioSinkStream (QAudioDevice, const QAudioFormat &, std::optional< qsizetype > ringbufferSize, QPipewireAudioSink *parent, float volume, std::optional< int32_t > hardwareBufferFrames, AudioEndpointRole) | |
| ~QPipewireAudioSinkStream () | |
| bool | open () |
| bool | start (QIODevice *device) |
| QIODevice * | start () |
| bool | start (AudioCallback) |
| void | stop (ShutdownPolicy) |
| void | updateStreamIdle (bool idle) override |
| quint64 | bytesFree () const |
| std::chrono::microseconds | processedDuration () const |
| Public Member Functions inherited from QtPipeWire::QPipewireAudioStream | |
| void | suspend () |
| void | resume () |
| bool | hasStream () const |
| Public Member Functions inherited from QtMultimediaPrivate::QPlatformAudioSinkStream | |
| void | requestStop () |
Private Member Functions | |
| void | handleDeviceRemoved () override |
| void | processRingbuffer () noexcept QT_MM_NONBLOCKING override |
| void | processCallback () noexcept QT_MM_NONBLOCKING override |
| void | stateChanged (pw_stream_state, pw_stream_state state, const char *) override |
| void | xrunOccurred (int) override |
Additional Inherited Members | |
| Protected Types inherited from QtPipeWire::QPipewireAudioStream | |
| enum class | StreamType : uint8_t { Ringbuffer , Callback } |
| Protected Types inherited from QtMultimediaPrivate::QPlatformAudioIOStream | |
| using | NativeSampleFormat = QAudioHelperInternal::NativeSampleFormat |
| using | QAutoResetEvent = QtPrivate::QAutoResetEvent |
| enum class | ShutdownPolicy : uint8_t { DrainRingbuffer , DiscardRingbuffer } |
| Protected Member Functions inherited from QtPipeWire::QPipewireAudioStream | |
| QPipewireAudioStream (const QAudioFormat &) | |
| ~QPipewireAudioStream () | |
| void | createStream (QSpan< spa_dict_item > extraProperties, std::optional< int32_t > hardwareBufferFrames, const char *streamName, StreamType=StreamType::Ringbuffer) |
| bool | connectStream (ObjectSerial target, spa_direction) |
| void | disconnectStream () |
| void | resetStream () |
| bool | registerDeviceObserver (ObjectSerial) |
| void | unregisterDeviceObserver () |
| void | performXRunDetection (uint64_t framesPerBuffer) noexcept QT_MM_NONBLOCKING |
| void | addFramesHandled (uint64_t) |
| Protected Member Functions inherited from QtMultimediaPrivate::QPlatformAudioSinkStream | |
| QPlatformAudioSinkStream (QAudioDevice, const QAudioFormat &, std::optional< int > ringbufferSize, std::optional< int32_t > hardwareBufferFrames, float volume) | |
| ~QPlatformAudioSinkStream () | |
| uint64_t | process (QSpan< std::byte > hostBuffer, qsizetype totalNumberOfFrames, std::optional< NativeSampleFormat >={}) noexcept QT_MM_NONBLOCKING |
| quint64 | bytesFree () const |
| std::chrono::microseconds | processedDuration () const |
| QIODevice * | createRingbufferWriterDevice () |
| void | setQIODevice (QIODevice *device) |
| void | createQIODeviceConnections (QIODevice *device) |
| void | disconnectQIODeviceConnections () |
| void | pullFromQIODevice () |
| void | setIdleState (bool) |
| bool | isIdle (std::memory_order order=std::memory_order_relaxed) const |
| void | stopIdleDetection () |
| template<typename Functor> | |
| auto | connectIdleHandler (Functor &&f) |
| template<typename ParentType> | |
| void | handleIOError (ParentType *parent) |
| QThread * | thread () const |
| template<typename Functor> | |
| void | invokeOnAppThread (Functor &&f) |
| Protected Member Functions inherited from QtMultimediaPrivate::QPlatformAudioIOStream | |
| QPlatformAudioIOStream (QAudioDevice m_audioDevice, QAudioFormat m_format, std::optional< int > ringbufferSize, std::optional< int32_t > hardwareBufferFrames, float volume) | |
| ~QPlatformAudioIOStream () | |
| void | setVolume (float) |
| float | volume () const |
| template<typename Functor> | |
| auto | visitRingbuffer (Functor &&f) |
| template<typename Functor> | |
| auto | visitRingbuffer (Functor &&f) const |
| void | prepareRingbuffer (std::optional< int > ringbufferSize) |
| int | ringbufferSizeInBytes () |
| void | requestStop () |
| bool | isStopRequested (std::memory_order memory_order=std::memory_order_relaxed) const |
| Static Protected Member Functions inherited from QtMultimediaPrivate::QPlatformAudioIOStream | |
| static qsizetype | inferRingbufferFrames (const std::optional< int > &ringbufferSize, const std::optional< int32_t > &hardwareBufferFrames, const QAudioFormat &) |
| static qsizetype | inferRingbufferBytes (const std::optional< int > &ringbufferSize, const std::optional< int32_t > &hardwareBufferFrames, const QAudioFormat &) |
| Protected Attributes inherited from QtPipeWire::QPipewireAudioStream | |
| const QAudioFormat | m_format |
| pw_stream_events | stream_events {} |
| PwStreamHandle | m_stream |
| SharedObjectRemoveObserver | m_deviceRemovalObserver |
| uint64_t | m_expectedNextTick {} |
| std::atomic_bool | m_skipNextTickDiscontinuity { true } |
| std::atomic_int | m_xrunCount { 0 } |
| uint64_t | m_totalNumberOfFrames {} |
| std::shared_ptr< QPipewireAudioStream > | m_self |
| Protected Attributes inherited from QtMultimediaPrivate::QPlatformAudioIOStream | |
| const QAudioDevice | m_audioDevice |
| const QAudioFormat | m_format |
| const std::optional< int32_t > | m_hardwareBufferFrames |
| Static Protected Attributes inherited from QtMultimediaPrivate::QPlatformAudioSinkStream | |
| static constexpr int | notificationThresholdBytes = 0 |
Definition at line 36 of file qpipewire_audiosink_p.h.
Definition at line 38 of file qpipewire_audiosink_p.h.
Definition at line 39 of file qpipewire_audiosink_p.h.
| QtPipeWire::QPipewireAudioSinkStream::QPipewireAudioSinkStream | ( | QAudioDevice | device, |
| const QAudioFormat & | format, | ||
| std::optional< qsizetype > | ringbufferSize, | ||
| QPipewireAudioSink * | parent, | ||
| float | volume, | ||
| std::optional< int32_t > | hardwareBufferFrames, | ||
| AudioEndpointRole | role ) |
Definition at line 31 of file qpipewire_audiosink.cpp.
References QPipewireAudioSinkStream().
Referenced by QPipewireAudioSinkStream().
| QtPipeWire::QPipewireAudioSinkStream::~QPipewireAudioSinkStream | ( | ) |
Definition at line 63 of file qpipewire_audiosink.cpp.
| quint64 QtMultimediaPrivate::QPlatformAudioSinkStream::bytesFree | ( | ) | const |
Definition at line 138 of file qaudiosystem_platform_stream_support.cpp.
|
overrideprivatevirtual |
Implements QtPipeWire::QPipewireAudioStream.
Definition at line 216 of file qpipewire_audiosink.cpp.
| bool QtPipeWire::QPipewireAudioSinkStream::open | ( | ) |
Definition at line 68 of file qpipewire_audiosink.cpp.
|
overrideprivatevirtualnoexcept |
Implements QtPipeWire::QPipewireAudioStream.
Definition at line 301 of file qpipewire_audiosink.cpp.
| std::chrono::microseconds QtMultimediaPrivate::QPlatformAudioSinkStream::processedDuration | ( | ) | const |
Definition at line 139 of file qaudiosystem_platform_stream_support.cpp.
|
overrideprivatevirtualnoexcept |
Implements QtPipeWire::QPipewireAudioStream.
Definition at line 258 of file qpipewire_audiosink.cpp.
| QIODevice * QtPipeWire::QPipewireAudioSinkStream::start | ( | ) |
Definition at line 102 of file qpipewire_audiosink.cpp.
| bool QtPipeWire::QPipewireAudioSinkStream::start | ( | AudioCallback | audioCallback | ) |
Definition at line 114 of file qpipewire_audiosink.cpp.
| bool QtPipeWire::QPipewireAudioSinkStream::start | ( | QIODevice * | device | ) |
Definition at line 73 of file qpipewire_audiosink.cpp.
|
overrideprivatevirtual |
Implements QtPipeWire::QPipewireAudioStream.
Definition at line 317 of file qpipewire_audiosink.cpp.
| void QtPipeWire::QPipewireAudioSinkStream::stop | ( | ShutdownPolicy | shutdownPolicy | ) |
Definition at line 139 of file qpipewire_audiosink.cpp.
|
overridevirtual |
Implements QtMultimediaPrivate::QPlatformAudioSinkStream.
Definition at line 166 of file qpipewire_audiosink.cpp.
|
inlineoverrideprivatevirtual |
Implements QtPipeWire::QPipewireAudioStream.
Definition at line 89 of file qpipewire_audiosink_p.h.