Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qaudioengine_pulse.cpp File Reference
#include <QtCore/qdebug.h>
#include <qaudiodevice.h>
#include <QTimer>
#include "qaudioengine_pulse_p.h"
#include "qpulseaudiodevice_p.h"
#include "qpulsehelpers_p.h"
#include <sys/types.h>
#include <unistd.h>
#include <mutex>
+ Include dependency graph for qaudioengine_pulse.cpp:

Go to the source code of this file.

Functions

template<typename Info >
static QT_BEGIN_NAMESPACE bool updateDevicesMap (QReadWriteLock &lock, QByteArray defaultDeviceId, QMap< int, QAudioDevice > &devices, QAudioDevice::Mode mode, const Info &info)
 
static bool updateDevicesMap (QReadWriteLock &lock, QByteArray defaultDeviceId, QMap< int, QAudioDevice > &devices)
 
static void serverInfoCallback (pa_context *context, const pa_server_info *info, void *userdata)
 
static void sinkInfoCallback (pa_context *context, const pa_sink_info *info, int isLast, void *userdata)
 
static void sourceInfoCallback (pa_context *context, const pa_source_info *info, int isLast, void *userdata)
 
static void event_cb (pa_context *context, pa_subscription_event_type_t t, uint32_t index, void *userdata)
 
static void contextStateCallbackInit (pa_context *context, void *userdata)
 
static void contextStateCallback (pa_context *c, void *userdata)
 
 Q_GLOBAL_STATIC (QPulseAudioEngine, pulseEngine)
 

Function Documentation

◆ contextStateCallback()

static void contextStateCallback ( pa_context *  c,
void userdata 
)
static

Definition at line 266 of file qaudioengine_pulse.cpp.

References QMetaObject::invokeMethod(), qDebug, Qt::QueuedConnection, state, and QPulseAudioInternal::stateToQString().

+ Here is the call graph for this function:

◆ contextStateCallbackInit()

static void contextStateCallbackInit ( pa_context *  context,
void userdata 
)
static

Definition at line 256 of file qaudioengine_pulse.cpp.

References context, QPulseAudioEngine::mainloop(), Q_UNUSED, qDebug, and QPulseAudioInternal::stateToQString().

+ Here is the call graph for this function:

◆ event_cb()

static void event_cb ( pa_context *  context,
pa_subscription_event_type_t  t,
uint32_t  index,
void userdata 
)
static

Definition at line 200 of file qaudioengine_pulse.cpp.

References context, QPulseAudioEngine::m_sinkLock, QPulseAudioEngine::m_sinks, QPulseAudioEngine::m_sourceLock, QPulseAudioEngine::m_sources, qWarning, QMap< Key, T >::remove(), serverInfoCallback(), sinkInfoCallback(), and sourceInfoCallback().

+ Here is the call graph for this function:

◆ Q_GLOBAL_STATIC()

Q_GLOBAL_STATIC ( QPulseAudioEngine  ,
pulseEngine   
)

◆ serverInfoCallback()

static void serverInfoCallback ( pa_context *  context,
const pa_server_info *  info,
void userdata 
)
static

Definition at line 61 of file qaudioengine_pulse.cpp.

References QString::arg(), QPulseAudioEngine::audioInputsChanged(), QPulseAudioEngine::audioOutputsChanged(), context, emit, QString::fromLatin1(), QString::fromUtf8(), info, QPulseAudioEngine::m_defaultSink, QPulseAudioEngine::m_defaultSource, QPulseAudioEngine::m_serverLock, QPulseAudioEngine::m_sinkLock, QPulseAudioEngine::m_sinks, QPulseAudioEngine::m_sourceLock, QPulseAudioEngine::m_sources, QPulseAudioEngine::mainloop(), qDebug, qWarning, and updateDevicesMap().

Referenced by event_cb().

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

◆ sinkInfoCallback()

static void sinkInfoCallback ( pa_context *  context,
const pa_sink_info *  info,
int  isLast,
void userdata 
)
static

Definition at line 124 of file qaudioengine_pulse.cpp.

References QString::arg(), QPulseAudioEngine::audioOutputsChanged(), context, emit, QString::fromLatin1(), QString::fromUtf8(), info, QPulseAudioEngine::m_defaultSink, QPulseAudioEngine::m_sinkLock, QPulseAudioEngine::m_sinks, QPulseAudioEngine::mainloop(), QString::number(), QAudioDevice::Output, Q_ASSERT, qDebug, qWarning, and updateDevicesMap().

Referenced by event_cb().

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

◆ sourceInfoCallback()

static void sourceInfoCallback ( pa_context *  context,
const pa_source_info *  info,
int  isLast,
void userdata 
)
static

Definition at line 162 of file qaudioengine_pulse.cpp.

References QString::arg(), QPulseAudioEngine::audioInputsChanged(), context, emit, info, QAudioDevice::Input, QPulseAudioEngine::m_defaultSource, QPulseAudioEngine::m_sourceLock, QPulseAudioEngine::m_sources, QPulseAudioEngine::mainloop(), QString::number(), Q_ASSERT, Q_UNUSED, qDebug, and updateDevicesMap().

Referenced by event_cb().

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

◆ updateDevicesMap() [1/2]

static bool updateDevicesMap ( QReadWriteLock lock,
QByteArray  defaultDeviceId,
QMap< int, QAudioDevice > &  devices 
)
static

Definition at line 38 of file qaudioengine_pulse.cpp.

References device, lock, and Q_ASSERT.

◆ updateDevicesMap() [2/2]

template<typename Info >
static QT_BEGIN_NAMESPACE bool updateDevicesMap ( QReadWriteLock lock,
QByteArray  defaultDeviceId,
QMap< int, QAudioDevice > &  devices,
QAudioDevice::Mode  mode,
const Info info 
)
static

Definition at line 18 of file qaudioengine_pulse.cpp.

References QPulseAudioInternal::channelConfigFromMap(), device, info, lock, and QPulseAudioInternal::sampleSpecToAudioFormat().

Referenced by serverInfoCallback(), sinkInfoCallback(), and sourceInfoCallback().

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