View Issue Details
|ID||Category||Date Submitted||Last Update|
|0008467||features||2020-11-09 06:09||2020-11-11 15:01|
|Fixed in Version|
|Summary||0008467: Pulseaudio backend sets the DONT_MOVE flag|
|Description||The killer feature of the pulseaudio backend was being able to put Ardour output on whatever device was convenient. With DONT_MOVE set, it's impossible to change the output device after the backend is started, and as far as I can tell, the default device will always be used.|
I've done a test build, commenting out the DONT_MOVE flag in pulseaudio_backend.cc on line 304. Everything seems to work as expected, and the audio output can now be redirected on the fly.
|Steps To Reproduce||Use the pulseaudio backend, and attempt to change the output device after the backend has started.|
|Additional Information||I'm running Fedora 33, x86_64.|
|Tags||No tags attached.|
PA_STREAM_DONT_MOVE was added for a couple reasons.
Mainly because Ardour asks pulse to configure a device with a given sample-rate and never resample. If the stream is moved to another sink/source with a different sample spec/channel map that may no longer be the case.
There are/were issues when steams are be moved while Ardour is processing offline during export. Have you tested that?
Perhaps a better option would be to let a user pick a device other than "Default Playback" and pass it to `pa_stream_connect_playback` in pulseaudio_backend.cc:314
@x42 I'll try taking a look at the sample-rate issue, and see if there's a way around that problem. As far as moving during export, it should be easy enough to set the DONT_MOVE flag when exporting, and unset it when finished.
Being able to move Ardour's outputs around on-the-fly is extremely useful for certain setups, so even if it's behind an opt-in setting to enable, I would love to see it available without a local patch.
Fine. pulseaudio isn't unsuitable for pro-audio to begin with, so the "no resampling" requirement is kinda moot anyway.
Since 6.3-305-g81862f8c30 the stream can be moved
|2020-11-09 06:09||JP_Bennett||New Issue|
|2020-11-09 17:30||x42||Note Added: 0025211|
|2020-11-09 18:38||JP_Bennett||Note Added: 0025212|
|2020-11-11 15:01||x42||Note Added: 0025215|
|2020-11-11 15:01||x42||Assigned To||=> x42|
|2020-11-11 15:01||x42||Status||new => resolved|
|2020-11-11 15:01||x42||Resolution||open => fixed|