Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QCoreAudioSinkStream Class Referencefinal

#include <qcoreaaudiosink_p.h>

Inheritance diagram for QCoreAudioSinkStream:
Collaboration diagram for QCoreAudioSinkStream:

Public Types

using SinkType = QCoreAudioSink
Public Types inherited from QtMultimediaPrivate::QPlatformAudioSinkStream
using AudioCallback = QPlatformAudioSink::AudioCallback
enum class  ShutdownPolicy

Public Member Functions

 QCoreAudioSinkStream (QAudioDevice, const QAudioFormat &, std::optional< qsizetype > ringbufferSize, QCoreAudioSink *parent, float volume, std::optional< QtMultimediaPrivate::NativePeriodFrames > nativePeriodFrames, AudioEndpointRole)
 ~QCoreAudioSinkStream ()
bool open ()
bool start (QIODevice *device)
QIODevice * start ()
bool start (AudioCallback cb)
void stop (ShutdownPolicy policy)
void stopStreamWhenBufferDrained ()
void stopStream ()
void suspend ()
bool resume ()
bool resumeIfNecessary ()
void reportIOError ()
void invalidateAudioUnit ()
quint64 bytesFree () const
std::chrono::microseconds processedDuration () const
Public Member Functions inherited from QtMultimediaPrivate::QPlatformAudioSinkStream
void requestStop ()

Private Member Functions

void updateStreamIdle (bool arg) override

Additional Inherited Members

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 QtMultimediaPrivate::QPlatformAudioSinkStream
 QPlatformAudioSinkStream (QAudioDevice, const QAudioFormat &, std::optional< int > ringbufferSize, std::optional< NativePeriodFrames > nativePeriodFrames, float volume)
 ~QPlatformAudioSinkStream ()
uint64_t process (QSpan< std::byte > hostBuffer, qsizetype totalNumberOfFrames, std::optional< NativeSampleFormat >={}) noexcept Q_DECL_NONBLOCKING_FUNCTION
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< NativePeriodFrames > nativePeriodFrames, 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< NativePeriodFrames > &nativePeriodFrames, const QAudioFormat &)
static qsizetype inferRingbufferBytes (const std::optional< int > &ringbufferSize, const std::optional< NativePeriodFrames > &nativePeriodFrames, const QAudioFormat &)
Protected Attributes inherited from QtMultimediaPrivate::QPlatformAudioIOStream
const QAudioDevice m_audioDevice
const QAudioFormat m_format
const std::optional< NativePeriodFrames > m_nativePeriodFrames
Static Protected Attributes inherited from QtMultimediaPrivate::QPlatformAudioSinkStream
static constexpr int notificationThresholdBytes = 0

Detailed Description

Definition at line 32 of file qcoreaaudiosink_p.h.

Member Typedef Documentation

◆ SinkType

Constructor & Destructor Documentation

◆ QCoreAudioSinkStream()

QT_BEGIN_NAMESPACE QCoreAudioSinkStream::QCoreAudioSinkStream ( QAudioDevice audioDevice,
const QAudioFormat & format,
std::optional< qsizetype > ringbufferSize,
QCoreAudioSink * parent,
float volume,
std::optional< QtMultimediaPrivate::NativePeriodFrames > nativePeriodFrames,
AudioEndpointRole  )
explicit

Definition at line 31 of file qcoreaaudiosink.mm.

◆ ~QCoreAudioSinkStream()

QCoreAudioSinkStream::~QCoreAudioSinkStream ( )

Definition at line 43 of file qcoreaaudiosink.mm.

Member Function Documentation

◆ bytesFree()

◆ invalidateAudioUnit()

void QCoreAudioSinkStream::invalidateAudioUnit ( )

Definition at line 312 of file qcoreaaudiosink.mm.

◆ open()

bool QCoreAudioSinkStream::open ( )

Definition at line 50 of file qcoreaaudiosink.mm.

◆ processedDuration()

◆ reportIOError()

void QCoreAudioSinkStream::reportIOError ( )

Definition at line 242 of file qcoreaaudiosink.mm.

◆ resume()

bool QCoreAudioSinkStream::resume ( )

Definition at line 229 of file qcoreaaudiosink.mm.

Referenced by resumeIfNecessary().

Here is the caller graph for this function:

◆ resumeIfNecessary()

bool QCoreAudioSinkStream::resumeIfNecessary ( )

Definition at line 234 of file qcoreaaudiosink.mm.

References resume().

Here is the call graph for this function:

◆ start() [1/3]

QIODevice * QCoreAudioSinkStream::start ( )

Definition at line 123 of file qcoreaaudiosink.mm.

◆ start() [2/3]

bool QCoreAudioSinkStream::start ( AudioCallback cb)

Definition at line 134 of file qcoreaaudiosink.mm.

◆ start() [3/3]

bool QCoreAudioSinkStream::start ( QIODevice * device)

Definition at line 92 of file qcoreaaudiosink.mm.

◆ stop()

void QCoreAudioSinkStream::stop ( ShutdownPolicy policy)

Definition at line 159 of file qcoreaaudiosink.mm.

References QCoreAudioSink::notifyStreamStopped(), stopStream(), and stopStreamWhenBufferDrained().

Here is the call graph for this function:

◆ stopStream()

void QCoreAudioSinkStream::stopStream ( )

Definition at line 207 of file qcoreaaudiosink.mm.

Referenced by stop(), and stopStreamWhenBufferDrained().

Here is the caller graph for this function:

◆ stopStreamWhenBufferDrained()

void QCoreAudioSinkStream::stopStreamWhenBufferDrained ( )

Definition at line 188 of file qcoreaaudiosink.mm.

References stopStream().

Referenced by stop().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ suspend()

void QCoreAudioSinkStream::suspend ( )

Definition at line 220 of file qcoreaaudiosink.mm.

◆ updateStreamIdle()

void QCoreAudioSinkStream::updateStreamIdle ( bool arg)
overrideprivatevirtual

Implements QtMultimediaPrivate::QPlatformAudioSinkStream.

Definition at line 281 of file qcoreaaudiosink.mm.


The documentation for this class was generated from the following files: