Hi Rolf and Michele,
On Wed, Feb 28, 2024 at 09:32:45AM +0100, Rolf Anderegg wrote:
Hi again, quick followup: So basically it's like this:
spdif-opt-input-1/2 ---+ spdif-coax-input-1/2 --(or)--> digital-input-1/2 -----------------> stream-output-1/2 aesebu-xlr-input-1/2 ---+ muted ------------------+ stream-input-1/2 --------------------------+----------------------> spdif-coax-output-1/2 +----------------------> aesebu-xlr-output-1/2 +--analog-output-1/2 --> analog-xlr-output-1/2 +-----------> analog-coax-output-1/2
And all potential mixing (e.g. volume processing) would be done in userspace on the firewire host.
On 28.02.24 09:14, Rolf Anderegg wrote:
On 28.02.24 00:54, Takashi Sakamoto wrote:
[...]
I assume that the actual source selection of 'digital-input-1/2' is done in the router function of DICE chip as well as the selection between 'digital-input-1/2' and 'stream-input-1/2'. The mixer function of the chip is not used as I expected, thus the selection should exist as the source of audio signals for the outputs. However, in the above description, I cannot find such selection.
Or the device has a fixed route between 'stream-input-1/2' and 'analog-{xlr,coax}-output-1/2'? The user can not hear the audio signal of opt/coax/xlr digital input ports in the analog outputs?
Exactly, this is fixed as you can see in our DICE routing method.
Ah... OK, now I got it. I had assumed that the audio signal to any digital input interface can be dynamically routed to any of the audio output according to the preference selection, however it is not. Unlike the equipments for the studio recording, the feature so-called as 'direct monitoring' (without multiplexing) is not implemented in MAN301. As a summary, the captured digital audio signal has the long trip to user's ear, like:
``` spdif-opt-input-1/2 --+ spdif-coax-input-1/2 -(or)--> digital-input-1/2 ---------------> stream-output-1/2 aesebu-xlr-input-1/2 --+ | muted -----------------+ | | (Linux system) v pcm-playback-1/2 <------ (software digital audio processing) <-- pcm-capture-1/2 | v stream-input-1/2 -------------------------+--------------------> spdif-coax-output-1/2 +--------------------> aesebu-xlr-output-1/2 +-analog-output-1/2 -> analog-xlr-output-1/2 +----------> analog-coax-output-1/2 ```
I've already uploaded `firewire-dice-protocols` crate v0.3.0 to crates.io with the diagram including the selection[1], but it should be fixed. I'll do it later.
Thanks
[1] https://docs.rs/firewire-dice-protocols/latest/firewire_dice_protocols/weiss...
Takashi Sakamoto