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
QPlatformAudioSourceStream Class Referenceabstract

#include <qaudiosystem_platform_stream_support_p.h>

+ Inheritance diagram for QPlatformAudioSourceStream:
+ Collaboration diagram for QPlatformAudioSourceStream:

Public Types

enum class  ShutdownPolicy
 

Protected Member Functions

 QPlatformAudioSourceStream (QAudioDevice, const QAudioFormat &, std::optional< int > ringbufferSize, std::optional< int32_t > hardwareBufferFrames, float volume)
 
 ~QPlatformAudioSourceStream ()
 
uint64_t process (QSpan< const std::byte > hostBuffer, qsizetype numberOfFrames, std::optional< NativeSampleFormat >={}) noexcept QT_MM_NONBLOCKING
 
qsizetype bytesReady () const
 
std::chrono::microseconds processedDuration () const
 
void setQIODevice (QIODevice *device)
 
void createQIODeviceConnections (QIODevice *device)
 
void disconnectQIODeviceConnections ()
 
QIODevicecreateRingbufferReaderDevice ()
 
void pushToIODevice ()
 
bool deviceIsRingbufferReader () const
 
void finalizeQIODevice (ShutdownPolicy)
 
void emptyRingbuffer ()
 
virtual void updateStreamIdle (bool)=0
 
template<typename ParentType>
void handleIOError (ParentType *parent)
 
- 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
 

Additional Inherited Members

- Protected Types inherited from QtMultimediaPrivate::QPlatformAudioIOStream
using NativeSampleFormat = QAudioHelperInternal::NativeSampleFormat
 
using QAutoResetEvent = QtPrivate::QAutoResetEvent
 
enum class  ShutdownPolicy : uint8_t { DrainRingbuffer , DiscardRingbuffer }
 
- 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
 

Detailed Description

Definition at line 199 of file qaudiosystem_platform_stream_support_p.h.

Member Enumeration Documentation

◆ ShutdownPolicy

Constructor & Destructor Documentation

◆ QPlatformAudioSourceStream()

QtMultimediaPrivate::QPlatformAudioSourceStream::QPlatformAudioSourceStream ( QAudioDevice audioDevice,
const QAudioFormat & format,
std::optional< int > ringbufferSize,
std::optional< int32_t > hardwareBufferFrames,
float volume )
protected

Definition at line 308 of file qaudiosystem_platform_stream_support.cpp.

◆ ~QPlatformAudioSourceStream()

QtMultimediaPrivate::QPlatformAudioSourceStream::~QPlatformAudioSourceStream ( )
protecteddefault

Member Function Documentation

◆ bytesReady()

qsizetype QtMultimediaPrivate::QPlatformAudioSourceStream::bytesReady ( ) const
protected

Definition at line 394 of file qaudiosystem_platform_stream_support.cpp.

◆ createQIODeviceConnections()

void QtMultimediaPrivate::QPlatformAudioSourceStream::createQIODeviceConnections ( QIODevice * device)
protected

Definition at line 414 of file qaudiosystem_platform_stream_support.cpp.

◆ createRingbufferReaderDevice()

QIODevice * QtMultimediaPrivate::QPlatformAudioSourceStream::createRingbufferReaderDevice ( )
protected

Definition at line 444 of file qaudiosystem_platform_stream_support.cpp.

◆ deviceIsRingbufferReader()

bool QtMultimediaPrivate::QPlatformAudioSourceStream::deviceIsRingbufferReader ( ) const
protected

Definition at line 366 of file qaudiosystem_platform_stream_support.cpp.

◆ disconnectQIODeviceConnections()

void QtMultimediaPrivate::QPlatformAudioSourceStream::disconnectQIODeviceConnections ( )
protected

Definition at line 438 of file qaudiosystem_platform_stream_support.cpp.

◆ emptyRingbuffer()

void QtMultimediaPrivate::QPlatformAudioSourceStream::emptyRingbuffer ( )
protected

Definition at line 386 of file qaudiosystem_platform_stream_support.cpp.

◆ finalizeQIODevice()

void QtMultimediaPrivate::QPlatformAudioSourceStream::finalizeQIODevice ( ShutdownPolicy shutdownPolicy)
protected

Definition at line 371 of file qaudiosystem_platform_stream_support.cpp.

◆ handleIOError()

template<typename ParentType>
void QtMultimediaPrivate::QPlatformAudioSourceStream::handleIOError ( ParentType * parent)
inlineprotected

Definition at line 233 of file qaudiosystem_platform_stream_support_p.h.

◆ process()

uint64_t QtMultimediaPrivate::QPlatformAudioSourceStream::process ( QSpan< const std::byte > hostBuffer,
qsizetype numberOfFrames,
std::optional< NativeSampleFormat > nativeFormat = {} )
protectednoexcept

Definition at line 321 of file qaudiosystem_platform_stream_support.cpp.

◆ processedDuration()

std::chrono::microseconds QtMultimediaPrivate::QPlatformAudioSourceStream::processedDuration ( ) const
protected

Definition at line 401 of file qaudiosystem_platform_stream_support.cpp.

◆ pushToIODevice()

void QtMultimediaPrivate::QPlatformAudioSourceStream::pushToIODevice ( )
protected

Definition at line 356 of file qaudiosystem_platform_stream_support.cpp.

◆ setQIODevice()

void QtMultimediaPrivate::QPlatformAudioSourceStream::setQIODevice ( QIODevice * device)
protected

Definition at line 409 of file qaudiosystem_platform_stream_support.cpp.

◆ updateStreamIdle()

virtual void QtMultimediaPrivate::QPlatformAudioSourceStream::updateStreamIdle ( bool )
protectedpure virtual

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