I’m not sure if that’s a helpful way to think about it. AFAICT: The actual Haiku source and sink nodes are integer based.[/quote]
Not true. The audio physical input and output are handled by MultiAudio node, which support any audio format (8/16/32 bits integer or float) that the below kernel hardware drivers supports. If they don’t support float in hardware, someone must convert it somewhere in the pipeline. It’s true for JACK sources and sinks too. The difference is that the Media Kit don’t enforced a format and the system audio nodes supports all formats to be able to accommodate any situation. The actual format is negociated between nodes at connection time. If a node only support integer, but some other downstream node support only float, I fail to see how JACK or Media Kit can avoid the format conversion. Claiming that JACK works in float even with hardware working only in integer is wrong: the driver does the conversion, that’s all.
Same with Media Kit, except that it can be anywhere, not only at input driver level.
With hardware working in float format directly, a Media kit pipeline can perfectly works in float format, including the MultiAudio and Mixer system nodes.
First, it’s the default system mixer, but nothing forbid a pro audio solution to shortcut it totally.
It’s just a matter of routing choice to make. Desktop multimedia apps routes their audio toward the system mixer because it make sense, but nothing forbid to route it toward a dedicated sink node instead. If one would want to mimic the JACK pipeline with the Media Kit, he would have to do that in fact, as JACK don’t enforce either a system wide mixer client, AFAICT.
Second, the default system mixer time source is set to it’s default output clock rate, indeed, simply because this rate can be totally disconnected from the input ones (multi inputs, not all physical). But it doesn’t means that it’s impossible to connect a chain of source → effects nodes → sink as in JACK pipeline and set the sink node time source being the source one.
It just doesn’t make sense for a desktop operating system’s default system mixer to do that, because the source(s) to mix can be anything, not only physical ones, and can have each one a distinct rate (and format, as seen above). On this regard, our Haiku system audio mixer must adapt the same constraints than PulseAudio one for instance.
But it’s not because the default Haiku Media nodes are setup like they are that it means the Media Kit can only support such “default” setup.