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

From: Robin Gareus <robin@email-addr-hidden>
Date: Fri Apr 01 2011 - 16:14:40 EEST

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@email-addr-hidden
> http://lists.linuxaudio.org/listinfo/linux-audio-user

_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Fri Apr 1 16:15:04 2011

This archive was generated by hypermail 2.1.8 : Fri Apr 01 2011 - 16:15:04 EEST