MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Core::PipewireDevice Class Reference

PipeWire implementation of the audio device interface. More...

#include <PipewireBackend.hpp>

+ Inheritance diagram for MayaFlux::Core::PipewireDevice:
+ Collaboration diagram for MayaFlux::Core::PipewireDevice:

Classes

struct  NodeEntry
 

Public Member Functions

uint32_t find_input_node_id (std::string_view name) const
 
uint32_t find_output_node_id (std::string_view name) const
 
unsigned int get_default_input_device () const override
 Gets the system's primary input device identifier.
 
unsigned int get_default_output_device () const override
 Gets the system's primary output device identifier.
 
std::vector< DeviceInfoget_input_devices () const override
 Retrieves information about all available input devices.
 
std::vector< DeviceInfoget_output_devices () const override
 Retrieves information about all available output devices.
 
- Public Member Functions inherited from MayaFlux::Core::AudioDevice
virtual ~AudioDevice ()=default
 Virtual destructor for proper cleanup of derived classes.
 

Private Attributes

uint32_t m_default_input_id = 0
 
uint32_t m_default_output_id = 0
 
std::vector< NodeEntrym_nodes
 

Detailed Description

PipeWire implementation of the audio device interface.

Enumerates Audio/Sink and Audio/Source nodes from the PipeWire registry by running a synchronous roundtrip on the main loop. Default device selection uses priority.session from node properties, matching WirePlumber's default sink/source selection.

Device IDs returned are PipeWire global object IDs (uint32_t). These are passed opaquely through the unsigned int interface and consumed by PipewireStream::open() via pw_stream_connect target object ID.

Definition at line 70 of file PipewireBackend.hpp.


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