[ecasound] Propagation of signal width with jack inputs

From: Joel Roth <joelz@email-addr-hidden>
Date: Sat Nov 06 2010 - 16:19:11 EET

Kai and others,

While looking for something else, I think I found a bug.

Here is a sample chain setup:

-B auto -r -z:mixmode,sum

# audio inputs

-a:1 -i:loop,Master_in
-a:3 -f:f32_le,1,44100 -i:jack,,brass_in

# post-input processing

-a:3 -chcopy:1,2

# audio outputs

-a:1 -o:jack_multi,system:playback_1,system:playback_2
-a:3 -o:loop,Master_in

Due to the -chcopy operator on chain 3, I expect the output
to be stereo, but jack_lsp -c and ecasound debugging output
show the output to be mono.

'fs' shows that chain "1" is only one channel wide.

### Audio input/output status (chainsetup '/oldroot/home/jroth/nama/untitled/Setup.ecs') ###
Input (1): "loop,Master_in" - [Internal loop device]
 -> connected to chains "1": position (0.000/0.000) seconds.
 -> open, , f32_le/2ch/44100Hz, buffer 0.
Input (2): "jack,,brass_in" - [JACK interface]
 -> connected to chains "3": realtime-device; position 0, delay 0.
 -> open, f32_le/1ch/44100Hz, buffer 1024.
Output (1): "jack_multi,system:playback_1,system:playback_2" - [JACK interface]
 -> connected to chains "1": realtime-device; position 0, delay 0.
 -> open, f32_le/1ch/44100Hz, buffer 1024.
          ^^^^^^^^^^^^^^^^
Output (2): "loop,Master_in" - [Internal loop device]
 -> connected to chains "3": position (0.000/0.000) seconds.
 -> open, , f32_le/2ch/44100Hz, buffer 0.

Note that ecasound:brass_in, a mono input, gets
system:capture_1,2 connected by jack.plumbing.

Here is the jack_lsp output:

# the following connections made by jack.plumbing
system:capture_1
   ecasound:brass_in_1
system:capture_2
   ecasound:brass_in_1
ecasound:brass_in_1
   system:capture_1
   system:capture_2

# the following are the ecasound connections

system:playback_1
   ecasound:out_1
system:playback_2 # unconnected!
ecasound:out_1
   system:playback_1

The correct stereo output _does_ appear when
the input line changes to:

-a:3 -f:f32_le,1,44100 -i:jack,system:capture_1

### Audio input/output status (chainsetup '/oldroot/home/jroth/nama/untitled/Setup.ecs') ###
Input (1): "loop,Master_in" - [Internal loop device]
 -> connected to chains "1": position (0.000/0.000) seconds.
 -> open, , s16_le/2ch/44100Hz, buffer 0.
Input (2): "jack_multi,system:capture_1,," - [JACK interface]
 -> connected to chains "3": realtime-device; position 0, delay 0.
 -> open, f32_le/2ch/44100Hz, buffer 1024.
          ^^^^^^^^^^^^^^^^^^
Output (1): "jack_multi,system:playback_1,system:playback_2," - [JACK interface]
 -> connected to chains "1": realtime-device; position 0, delay 0.
 -> open, f32_le/2ch/44100Hz, buffer 1024.
Output (2): "loop,Master_in" - [Internal loop device]
 -> connected to chains "3": position (0.000/0.000) seconds.
 -> open, , s16_le/2ch/44100Hz, buffer 0.

And now I'm surprised that the signal formats
are s16_le! I thought 32-bit signals were always used
internally. Could 16-bit format be being inherited
from some Ecasound globals?

Also Input (2) shows a stereo signal, despite the chain
setup input line specifying mono. Is that due to the -chcopy
operator?

At least the jack connections are correct:

system:capture_1
   ecasound:in_1
system:capture_2
system:playback_1
   ecasound:out_1
system:playback_2
   ecasound:out_2
ecasound:in_1
   system:capture_1
ecasound:in_2
ecasound:out_1
   system:playback_1
ecasound:out_2
   system:playback_2

Thanks for your attention. (And now back to my other
problems with jack.plumbing. :-)

Joel

-- 
Joel Roth
------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a 
Billion" shares his insights and actions to help propel your 
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
Ecasound-list mailing list
Ecasound-list@email-addr-hidden
https://lists.sourceforge.net/lists/listinfo/ecasound-list
Received on Sat Nov 6 16:15:02 2010

This archive was generated by hypermail 2.1.8 : Sat Nov 06 2010 - 16:15:02 EET