feat: add PipeWire multi-channel audio driver (full-duplex N channel)
- PipeWireDriver.hpp/cpp: new AudioDriver implementation using pw_filter API - Full-duplex I/O via pw_filter (capture + playback in one RT callback) - Dynamic channel count support (tested: 1-8 channels, extensible beyond) - Uses SPA_AUDIO_FORMAT_F32 for zero-copy-compatible float processing - Channel position mapping: MONO, stereo, 5.1, 7.1, plus Aux for N>8 - Follows the same buffer management pattern as AlsaDriverImpl - Channel routing: main/aux input/output mapping with mix ops - CLI flag: --driver pipewire|alsa (default: alsa) - AudioHost: conditional driver selection based on driverType_ - PiPedalModel: stores and passes driver type to AudioHost - CMakeLists.txt: added PipeWireDriver source files
This commit is contained in:
+1
-1
@@ -215,7 +215,7 @@ namespace pipedal
|
||||
AudioHost() {}
|
||||
|
||||
public:
|
||||
static AudioHost *CreateInstance(IHost *pHost);
|
||||
static AudioHost *CreateInstance(IHost *pHost, const std::string &driverType = "alsa");
|
||||
virtual ~AudioHost() {};
|
||||
|
||||
virtual void UpdateServerConfiguration(const JackServerSettings &jackServerSettings,
|
||||
|
||||
Reference in New Issue
Block a user