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
QtPipeWire Namespace Reference

Classes

struct  CoreEventDoneListener
struct  CoreEventListener
struct  CoreEventSyncHelper
struct  HandleDeleter
struct  MakeUniquePtr
struct  NodeEventListener
struct  ObjectIdTag
class  ObjectRemoveObserver
struct  ObjectSerialTag
struct  PipeWireCaptureGlobalState
struct  PwCoreConnectionDeleter
class  QAudioContextManager
class  QAudioDeviceMonitor
class  QAudioDevices
class  QPipewireAudioDevicePrivate
class  QPipewireAudioSink
struct  QPipewireAudioSinkStream
class  QPipewireAudioSource
struct  QPipewireAudioSourceStream
struct  QPipewireAudioStream
class  QPipeWireCapture
class  QPipeWireCaptureHelper
class  QPipeWireInstance
struct  SpaEnum
struct  SpaListenerBase
struct  SpaObjectAudioFormat
struct  SpaRange
struct  StrongIdType

Typedefs

using PwPropertyDict = std::map<std::string, std::string, std::less<>>
using PwLoopHandle = MakeUniquePtr<pw_loop, pw_loop_destroy>::type
using PwContextHandle = MakeUniquePtr<pw_context, pw_context_destroy>::type
using PwPropertiesHandle = MakeUniquePtr<pw_properties, pw_properties_free>::type
using PwThreadLoopHandle = MakeUniquePtr<pw_thread_loop, pw_thread_loop_destroy>::type
using PwStreamHandle = MakeUniquePtr<pw_stream, pw_stream_destroy>::type
using PwRegistryHandle = MakeUniquePtr<pw_proxy, pw_proxy_destroy, pw_registry>::type
using PwNodeHandle = MakeUniquePtr<pw_proxy, pw_proxy_destroy, pw_node>::type
using PwMetadataHandle = MakeUniquePtr<pw_proxy, pw_proxy_destroy, pw_metadata>::type
using PwCoreConnectionHandle = std::unique_ptr<pw_core, PwCoreConnectionDeleter>
using ObjectId = StrongIdType<uint32_t, ObjectIdTag>
using ObjectSerial = StrongIdType<uint64_t, ObjectSerialTag>
using SharedObjectRemoveObserver = std::shared_ptr<ObjectRemoveObserver>
using ShutdownPolicy = QPlatformAudioIOStream::ShutdownPolicy

Enumerations

enum class  PipewireRegistryType : uint8_t {
  Client , Core , Device , Factory ,
  Link , Metadata , Module , Node ,
  Port , Profiler , Registry , SecurityContext
}

Functions

 Q_GLOBAL_STATIC (QAudioContextManager, s_audioContextInstance)
 Q_STATIC_LOGGING_CATEGORY (lcPipewireRegistry, "qt.multimedia.pipewire.registry")
 Q_DECLARE_LOGGING_CATEGORY (lcPipewire)
PwPropertiesHandle makeProperties (QSpan< const spa_dict_item >)
PwPropertyDict toPropertyDict (const spa_dict &)
std::optional< std::string_view > getMediaClass (const PwPropertyDict &)
std::optional< std::string_view > getNodeName (const PwPropertyDict &)
std::optional< std::string_view > getNodeDescription (const PwPropertyDict &)
std::optional< std::string_view > getDeviceSysfsPath (const PwPropertyDict &)
std::optional< std::string_view > getDeviceName (const PwPropertyDict &)
std::optional< std::string_view > getDeviceDescription (const PwPropertyDict &)
std::optional< ObjectIdgetDeviceId (const PwPropertyDict &)
std::optional< ObjectSerialgetObjectSerial (const PwPropertyDict &)
std::optional< std::string_view > getMetadataName (const PwPropertyDict &)
std::error_code make_error_code (int errnoValue=errno)
 Q_STATIC_LOGGING_CATEGORY (lcPipewireDeviceMonitor, "qt.multimedia.pipewire.devicemonitor")
std::optional< PipewireRegistryTypeparsePipewireRegistryType (std::string_view sv)
 Q_STATIC_LOGGING_CATEGORY (lcPipewireAudioSink, "qt.multimedia.pipewire.audiosink")
static auto resolveHostBuffer (pw_buffer *b, const QAudioFormat &format)
spa_audio_info_raw asSpaAudioInfoRaw (const QAudioFormat &)
 Q_LOGGING_CATEGORY (lcPipewire, "qt.multimedia.pipewire")
template<typename T>
std::optional< T > spaParsePodPropertyScalar (const spa_pod &pod, unsigned spaObjectType, unsigned objectProperty)
template<typename Visitor>
auto spaVisitChoice (const spa_pod &pod, unsigned spaObjectType, unsigned objectProperty, Visitor v) -> decltype(v(std::declval< const spa_pod & >()))
template<typename T, spa_choice_type... Choices>
auto spaParsePodPropertyChoice (const spa_pod &pod, unsigned spaObjectType, unsigned objectProperty)
template<typename U>
QSpan< U > drop (QSpan< U > span, qsizetype n)

Variables

static std::atomic_int s_sequenceNumberAllocator
static constexpr bool pipewireRealtimeTracing = false
constexpr std::array channelPositionsMono { SPA_AUDIO_CHANNEL_MONO }
constexpr std::array channelPositionsStereo { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR }
constexpr std::array channelPositions2Dot1
constexpr std::array channelPositions3Dot0
constexpr std::array channelPositions3Dot1
constexpr std::array channelPositions5Dot0
constexpr std::array channelPositions5Dot1
constexpr std::array channelPositions7Dot0
constexpr std::array channelPositions7Dot1

Typedef Documentation

◆ ObjectId

Definition at line 117 of file qpipewire_support_p.h.

◆ ObjectSerial

Definition at line 125 of file qpipewire_support_p.h.

◆ PwContextHandle

using QtPipeWire::PwContextHandle = MakeUniquePtr<pw_context, pw_context_destroy>::type

Definition at line 63 of file qpipewire_support_p.h.

◆ PwCoreConnectionHandle

Definition at line 81 of file qpipewire_support_p.h.

◆ PwLoopHandle

using QtPipeWire::PwLoopHandle = MakeUniquePtr<pw_loop, pw_loop_destroy>::type

Definition at line 62 of file qpipewire_support_p.h.

◆ PwMetadataHandle

using QtPipeWire::PwMetadataHandle = MakeUniquePtr<pw_proxy, pw_proxy_destroy, pw_metadata>::type

Definition at line 69 of file qpipewire_support_p.h.

◆ PwNodeHandle

using QtPipeWire::PwNodeHandle = MakeUniquePtr<pw_proxy, pw_proxy_destroy, pw_node>::type

Definition at line 68 of file qpipewire_support_p.h.

◆ PwPropertiesHandle

using QtPipeWire::PwPropertiesHandle = MakeUniquePtr<pw_properties, pw_properties_free>::type

Definition at line 64 of file qpipewire_support_p.h.

◆ PwPropertyDict

using QtPipeWire::PwPropertyDict = std::map<std::string, std::string, std::less<>>

Definition at line 39 of file qpipewire_propertydict_p.h.

◆ PwRegistryHandle

using QtPipeWire::PwRegistryHandle = MakeUniquePtr<pw_proxy, pw_proxy_destroy, pw_registry>::type

Definition at line 67 of file qpipewire_support_p.h.

◆ PwStreamHandle

using QtPipeWire::PwStreamHandle = MakeUniquePtr<pw_stream, pw_stream_destroy>::type

Definition at line 66 of file qpipewire_support_p.h.

◆ PwThreadLoopHandle

using QtPipeWire::PwThreadLoopHandle = MakeUniquePtr<pw_thread_loop, pw_thread_loop_destroy>::type

Definition at line 65 of file qpipewire_support_p.h.

◆ SharedObjectRemoveObserver

◆ ShutdownPolicy

Enumeration Type Documentation

◆ PipewireRegistryType

enum class QtPipeWire::PipewireRegistryType : uint8_t
strong
Enumerator
Client 
Core 
Device 
Factory 
Link 
Metadata 
Module 
Node 
Port 
Profiler 
Registry 
SecurityContext 

Definition at line 29 of file qpipewire_registry_support_p.h.

Function Documentation

◆ asSpaAudioInfoRaw()

spa_audio_info_raw QtPipeWire::asSpaAudioInfoRaw ( const QAudioFormat & fmt)

Definition at line 218 of file qpipewire_spa_pod_support.cpp.

◆ drop()

template<typename U>
QSpan< U > QtMultimediaPrivate::drop ( QSpan< U > span,
qsizetype n )
inline

Definition at line 27 of file qaudio_qspan_support_p.h.

◆ getDeviceDescription()

std::optional< std::string_view > QtPipeWire::getDeviceDescription ( const PwPropertyDict & dict)

Definition at line 139 of file qpipewire_propertydict.cpp.

◆ getDeviceId()

std::optional< ObjectId > QtPipeWire::getDeviceId ( const PwPropertyDict & dict)

Definition at line 121 of file qpipewire_propertydict.cpp.

◆ getDeviceName()

std::optional< std::string_view > QtPipeWire::getDeviceName ( const PwPropertyDict & dict)

Definition at line 134 of file qpipewire_propertydict.cpp.

◆ getDeviceSysfsPath()

std::optional< std::string_view > QtPipeWire::getDeviceSysfsPath ( const PwPropertyDict & dict)

Definition at line 129 of file qpipewire_propertydict.cpp.

◆ getMediaClass()

std::optional< std::string_view > QtPipeWire::getMediaClass ( const PwPropertyDict & dict)

Definition at line 106 of file qpipewire_propertydict.cpp.

◆ getMetadataName()

std::optional< std::string_view > QtPipeWire::getMetadataName ( const PwPropertyDict & dict)

Definition at line 152 of file qpipewire_propertydict.cpp.

◆ getNodeDescription()

std::optional< std::string_view > QtPipeWire::getNodeDescription ( const PwPropertyDict & dict)

Definition at line 116 of file qpipewire_propertydict.cpp.

◆ getNodeName()

std::optional< std::string_view > QtPipeWire::getNodeName ( const PwPropertyDict & dict)

Definition at line 111 of file qpipewire_propertydict.cpp.

◆ getObjectSerial()

std::optional< ObjectSerial > QtPipeWire::getObjectSerial ( const PwPropertyDict & dict)

Definition at line 144 of file qpipewire_propertydict.cpp.

◆ make_error_code()

◆ makeProperties()

PwPropertiesHandle QtPipeWire::makeProperties ( QSpan< const spa_dict_item > keyValuePairs)

Definition at line 23 of file qpipewire_propertydict.cpp.

◆ parsePipewireRegistryType()

std::optional< PipewireRegistryType > QtPipeWire::parsePipewireRegistryType ( std::string_view sv)

Definition at line 21 of file qpipewire_registry_support.cpp.

◆ Q_DECLARE_LOGGING_CATEGORY()

QtPipeWire::Q_DECLARE_LOGGING_CATEGORY ( lcPipewire )

◆ Q_GLOBAL_STATIC()

QtPipeWire::Q_GLOBAL_STATIC ( QAudioContextManager ,
s_audioContextInstance  )

◆ Q_LOGGING_CATEGORY()

QtPipeWire::Q_LOGGING_CATEGORY ( lcPipewire ,
"qt.multimedia.pipewire"  )

◆ Q_STATIC_LOGGING_CATEGORY() [1/3]

QtPipeWire::Q_STATIC_LOGGING_CATEGORY ( lcPipewireAudioSink ,
"qt.multimedia.pipewire.audiosink"  )

◆ Q_STATIC_LOGGING_CATEGORY() [2/3]

QtPipeWire::Q_STATIC_LOGGING_CATEGORY ( lcPipewireDeviceMonitor ,
"qt.multimedia.pipewire.devicemonitor"  )

◆ Q_STATIC_LOGGING_CATEGORY() [3/3]

QtPipeWire::Q_STATIC_LOGGING_CATEGORY ( lcPipewireRegistry ,
"qt.multimedia.pipewire.registry"  )

◆ resolveHostBuffer()

auto QtPipeWire::resolveHostBuffer ( pw_buffer * b,
const QAudioFormat & format )
static

Definition at line 223 of file qpipewire_audiosink.cpp.

◆ spaParsePodPropertyChoice()

template<typename T, spa_choice_type... Choices>
auto QtPipeWire::spaParsePodPropertyChoice ( const spa_pod & pod,
unsigned spaObjectType,
unsigned objectProperty )

Definition at line 148 of file qpipewire_spa_pod_parser_support_p.h.

◆ spaParsePodPropertyScalar()

template<typename T>
std::optional< T > QtPipeWire::spaParsePodPropertyScalar ( const spa_pod & pod,
unsigned spaObjectType,
unsigned objectProperty )

Definition at line 105 of file qpipewire_spa_pod_parser_support_p.h.

◆ spaVisitChoice()

template<typename Visitor>
auto QtPipeWire::spaVisitChoice ( const spa_pod & pod,
unsigned spaObjectType,
unsigned objectProperty,
Visitor v ) -> decltype(v(std::declval<const spa_pod &>()))

Definition at line 130 of file qpipewire_spa_pod_parser_support_p.h.

◆ toPropertyDict()

PwPropertyDict QtPipeWire::toPropertyDict ( const spa_dict & dict)

Definition at line 32 of file qpipewire_propertydict.cpp.

Variable Documentation

◆ channelPositions2Dot1

std::array QtPipeWire::channelPositions2Dot1
inlineconstexpr
Initial value:
{ SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR,
SPA_AUDIO_CHANNEL_LFE }

Definition at line 52 of file qpipewire_spa_pod_support_p.h.

◆ channelPositions3Dot0

std::array QtPipeWire::channelPositions3Dot0
inlineconstexpr
Initial value:
{ SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR,
SPA_AUDIO_CHANNEL_FC }

Definition at line 54 of file qpipewire_spa_pod_support_p.h.

◆ channelPositions3Dot1

std::array QtPipeWire::channelPositions3Dot1
inlineconstexpr
Initial value:
{ SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR,
SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE }

Definition at line 56 of file qpipewire_spa_pod_support_p.h.

◆ channelPositions5Dot0

std::array QtPipeWire::channelPositions5Dot0
inlineconstexpr
Initial value:
{ SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR,
SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RL,
SPA_AUDIO_CHANNEL_RR }

Definition at line 58 of file qpipewire_spa_pod_support_p.h.

◆ channelPositions5Dot1

std::array QtPipeWire::channelPositions5Dot1
inlineconstexpr
Initial value:
{ SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR,
SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE,
SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR }

Definition at line 61 of file qpipewire_spa_pod_support_p.h.

◆ channelPositions7Dot0

std::array QtPipeWire::channelPositions7Dot0
inlineconstexpr
Initial value:
{ SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR,
SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_RL,
SPA_AUDIO_CHANNEL_RR, SPA_AUDIO_CHANNEL_SL,
SPA_AUDIO_CHANNEL_SR }

Definition at line 64 of file qpipewire_spa_pod_support_p.h.

◆ channelPositions7Dot1

std::array QtPipeWire::channelPositions7Dot1
inlineconstexpr
Initial value:
{ SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR,
SPA_AUDIO_CHANNEL_FC, SPA_AUDIO_CHANNEL_LFE,
SPA_AUDIO_CHANNEL_RL, SPA_AUDIO_CHANNEL_RR,
SPA_AUDIO_CHANNEL_SL, SPA_AUDIO_CHANNEL_SR }

Definition at line 68 of file qpipewire_spa_pod_support_p.h.

◆ channelPositionsMono

std::array QtPipeWire::channelPositionsMono { SPA_AUDIO_CHANNEL_MONO }
inlineconstexpr

Definition at line 50 of file qpipewire_spa_pod_support_p.h.

◆ channelPositionsStereo

std::array QtPipeWire::channelPositionsStereo { SPA_AUDIO_CHANNEL_FL, SPA_AUDIO_CHANNEL_FR }
inlineconstexpr

Definition at line 51 of file qpipewire_spa_pod_support_p.h.

◆ pipewireRealtimeTracing

constexpr bool QtPipeWire::pipewireRealtimeTracing = false
staticconstexpr

Definition at line 25 of file qpipewire_audiosink.cpp.

◆ s_sequenceNumberAllocator

std::atomic_int QtPipeWire::s_sequenceNumberAllocator
static

Definition at line 14 of file qpipewire_async_support.cpp.