[LAU] jack-stdio 1.1 - was [ANN] jack-stdout 1.0

Robin Gareus robin at gareus.org
Fri Apr 1 13:14:40 UTC 2011


On Apr 1, 2011, at 2:13 PM, Kjetil S. Matheussen wrote:
> 
> Peder Hedlund:
>> 
>>> On 04/01/2011 04:34 AM, Robin Gareus wrote:
>>>>> Robin Gareus wrote:
>>>>> 
>>>>>> Hya,
>>>>>> 
>>>>>> I've just brought jack-stdout up to scratch.
>>> 
>>> This should definitely be a part of the jack default toolset.
>> 
>> Not that I don't appreciate the work behind jack-stdin/out (and I
>> wouldn't mind having them included in the jack toolset) but these
>> things can also be performed using for instance mplayer and
>> jack_capture :
>> 
>> sox cdda.wav -t wav - tremolo 5 100 | mplayer -cache 26000 -ao jack -
>> and
>> jack_capture --channels 2 --port system:playback_1 --port system:playback_2 \
>> -ws | oggenc -R 44100 -B 16 -C 2 - -o file.ogg
>> 
> 
> This command does exactly the same:
> 
> jack_capture -c 2 -ws | oggenc -R 44100 -B 16 -C 2 - -o file.ogg
> 
> although this command is strongly preferable (no bits lost in piping):
> 
> jack_capture -c 2 -f ogg file.ogg
> 

Sure, this is un*x. There's always at least two ways to get the job done :-)

> However, for piping jack-stdout just got options for 24 bits, while jack_capture still only supports 16 bits.

See the announce from today. jack-stdio supports 8/16/24/32 bit integer, both big and little endian, as well as 32 bit float (both native-endian as well as swapped endianess).

@Kjetil:
Does jack_capture buffer the [processed] data before I/O? jack-stdio does not.
jack-stdin/out reads/writes one sample at a time, and thus is relatively heavy on the CPU
 (3-5% on a 2GHz machine - quite a lot for a such a small tool).

> The reason why jack_capture lags a bit behind here is probably because jack_capture used code from jack-stdout to implement writing to stdout. :-)

Before you look into merging it: I just have spotted a bug with endianess for PPC/ big-endian architectures.
all the #ifdef __BIG_ENDIAN__ code can go away:  The compiler (at least gcc) does swap 
constants 0x00ff <> 0xff00 and indices for uint8_t.

I'll have access to a PPC machine on Monday and will fix and test then.

Cheers!
robin


> _______________________________________________
> Linux-audio-user mailing list
> Linux-audio-user at lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-user



More information about the Linux-audio-user mailing list