Wish list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here are some things I wish pulseaudio could do. I think they make sense
:) These are not things I expect next release or all at once for that
matter. These all have to do with jacksink/source, jackdbus-detect and
pavucontrol, at least from the user POV, the reality may very well be
different. I am fully aware that pulseaudio/jack interoperability is not
the highest priority and have no disagreement with that.

- jacksink/source - relaxed latency compared to jack. I may be wrong, but
it seems that pulseaudio gets forced to whatever jack's latency is when
connected. This is hard on system resources and it makes an internal audio
interface that is only connected to pulseaudio determine the lowest
latency a jack device can use. I would suggest that Pulseaudio continue to
use it's own latency and jacksink/source add buffering to match that. My
thought is that pulseaudio has reasonable latency for phone work already
and syncing multi-track recordings is not a normal pulseaudio use anyway.

- if the module-jackdbus-detect module is loaded then treat it like a
device. In pavucontrol under the Configuration tab there should be an
entry for jacksink/source with the same kinds of options: stereo duplex,
4.0, 4.1, 5.0, 5.1 (all with stereo in) and off (off means I like having
bridging available, but don't want jacksink/source to be loaded at this
time). There is no reason I can see for more channels than desktop apps
are likely to use. 12 input channels give a bunch of aux inputs that I
don't think any pulse-aware app can use anyway. I think 7.1 might be the
max needed for outputs. I don't think there are any desktop apps that
expect more than stereo in though (I could be wrong). The one non-standard
option I would like to see is auto-default. That is when jacksink/source
load they become the default device. Oh and one more :)  (this is getting
messy) auto connect on or off... thinking about this, I would do one
"stereo duplex-no connect" and leave the rest with the default. I think
the stereo situation is the only one where no-auto connect makes sense.
Would a mono channel save anything system resources wise? I can think of
uses for that too.

- default migration - I don't know if this is possible. It seems to happen
now under some circumstances. If I am streaming to a card and jack steals
it the stream is jammed but I can move it to jacksink and it keeps
playing. If I set jacksink/source as default and have a stream going there
it seems if I stop jack that stream moves to the old default device (or
maybe system default) and if I restart jack after that, the stream then
moves back to jacksink/source. (Cool!) So what I am suggesting is, if a
device gets taken away at the same time jack shows up, assume jack is now
that device and shift the stream there. Being able to set jack as default
even when not loaded would work for this too, but then keeping a
sub-default may be needed too... ie. in the case where system default goes
to a card with no speakers. The easiest fix for this (I use it) is to just
turn that device off in pavucontrol. I have a card <es1370> that I use
only for MIDI, but some people have an internal card that can't be turned
off in bios.

Anyway, I have been very happy with how pulseaudio has worked for me. The
default of two channels works great and I may default to connect=no as
well... I use channels 9/10 for input (I have a nice spdif mic pre),
though I still use 1 and 2 for outputs. There are already good jack tools
for auto connecting for me in this way. I think I have listed my wishes in
order of importance, however, I expect changes to happen in order of ease
of implementation.

I have tried to be clear, but even though English is my first language,
explaining things is not my best talent :) Feel free to ask questions.


-- 
Len Ovens
www.OvenWerks.net



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux