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
QtWASAPI::QWASAPIAudioSinkStream Struct Referencefinal

#include <qwindowsaudiosink_p.h>

Inheritance diagram for QtWASAPI::QWASAPIAudioSinkStream:
Collaboration diagram for QtWASAPI::QWASAPIAudioSinkStream:

Public Types

enum class  StreamType : uint8_t { Ringbuffer , Callback }
using SampleFormat = QAudioFormat::SampleFormat
using SinkType = QWindowsAudioSink
Public Types inherited from QtMultimediaPrivate::QPlatformAudioSinkStream
using AudioCallback = QPlatformAudioSink::AudioCallback
enum class  ShutdownPolicy

Public Member Functions

 QWASAPIAudioSinkStream (QAudioDevice, const QAudioFormat &, std::optional< qsizetype > ringbufferSize, QWindowsAudioSink *parent, float volume, std::optional< int32_t > hardwareBufferSize, AudioEndpointRole)
 ~QWASAPIAudioSinkStream ()=default
bool open ()
bool start (QIODevice *)
QIODevicestart ()
bool start (AudioCallback)
void suspend ()
void resume ()
void stop (ShutdownPolicy)
void updateStreamIdle (bool) override
quint64 bytesFree () const
std::chrono::microseconds processedDuration () const
Public Member Functions inherited from QtMultimediaPrivate::QPlatformAudioSinkStream
void requestStop ()

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< 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
QIODevicecreateRingbufferWriterDevice ()
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)
QThreadthread () 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 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

Detailed Description

Definition at line 43 of file qwindowsaudiosink_p.h.

Member Typedef Documentation

◆ SampleFormat

◆ SinkType

Member Enumeration Documentation

◆ StreamType

enum class QtWASAPI::QWASAPIAudioSinkStream::StreamType : uint8_t
strong
Enumerator
Ringbuffer 
Callback 

Definition at line 49 of file qwindowsaudiosink_p.h.

Constructor & Destructor Documentation

◆ QWASAPIAudioSinkStream()

QtWASAPI::QWASAPIAudioSinkStream::QWASAPIAudioSinkStream ( QAudioDevice device,
const QAudioFormat & format,
std::optional< qsizetype > ringbufferSize,
QWindowsAudioSink * parent,
float volume,
std::optional< int32_t > hardwareBufferSize,
AudioEndpointRole role )

Definition at line 47 of file qwindowsaudiosink.cpp.

References QWASAPIAudioSinkStream().

Referenced by QWASAPIAudioSinkStream().

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

◆ ~QWASAPIAudioSinkStream()

QtWASAPI::QWASAPIAudioSinkStream::~QWASAPIAudioSinkStream ( )
default

Member Function Documentation

◆ bytesFree()

quint64 QtMultimediaPrivate::QPlatformAudioSinkStream::bytesFree ( ) const

Definition at line 138 of file qaudiosystem_platform_stream_support.cpp.

◆ open()

bool QtWASAPI::QWASAPIAudioSinkStream::open ( )

Definition at line 71 of file qwindowsaudiosink.cpp.

◆ processedDuration()

std::chrono::microseconds QtMultimediaPrivate::QPlatformAudioSinkStream::processedDuration ( ) const

Definition at line 139 of file qaudiosystem_platform_stream_support.cpp.

◆ resume()

void QtWASAPI::QWASAPIAudioSinkStream::resume ( )

Definition at line 133 of file qwindowsaudiosink.cpp.

◆ start() [1/3]

QIODevice * QtWASAPI::QWASAPIAudioSinkStream::start ( )

Definition at line 94 of file qwindowsaudiosink.cpp.

References Ringbuffer.

◆ start() [2/3]

bool QtWASAPI::QWASAPIAudioSinkStream::start ( AudioCallback audioCallback)

Definition at line 115 of file qwindowsaudiosink.cpp.

References Callback.

◆ start() [3/3]

bool QtWASAPI::QWASAPIAudioSinkStream::start ( QIODevice * ioDevice)

Definition at line 76 of file qwindowsaudiosink.cpp.

References Ringbuffer.

◆ stop()

void QtWASAPI::QWASAPIAudioSinkStream::stop ( ShutdownPolicy shutdownPolicy)

Definition at line 139 of file qwindowsaudiosink.cpp.

◆ suspend()

void QtWASAPI::QWASAPIAudioSinkStream::suspend ( )

Definition at line 127 of file qwindowsaudiosink.cpp.

◆ updateStreamIdle()

void QtWASAPI::QWASAPIAudioSinkStream::updateStreamIdle ( bool streamIsIdle)
overridevirtual

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