![]() |
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 |
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 136 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 137 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.