Hi, On 9/12/07, dsfsdf dsfsd <[EMAIL PROTECTED]> wrote: > i just installed savonet/liquidsoap on my ubuntu 7.04 and it seems to work
Welcome! Do you have liquidsoap packages on Ubuntu, or did you use the Debian packages, or did you build from SVN? The later is the best, for getting the newest features, and especially if you're going to test bug fixes.. I can't test OSS input here. Actually, I don't have a working audio input, be it OSS or ALSA. So I can't really help. But I looked at the code, and here's what I thought, in case it can help Sam or anybody to spot and fix the bug. Johann, if you feel adventurous, maybe you can fix it yourself following these lines. In src/io/oss_io.ml there is only one call to Float_pcm.from_s16le. The last parameter (r) is in bytes. However, in src/stream/float_pcm_c.c, in the function caml_float_pcm_from_s16le, the first check (the one that raises your error) compares len with a number of samples. Len should be divided by two in order to get a number of samples, and it seems to me that it should also be divided by the number of channels to be meaningful. A quick test would be to comment out lines 194-195 a see if the code runs well. Finally, I suspect that the code of that function is not portable, since it relies on the machine's representation of doubles. Don't get scared in any case. It may be a good idea to try alsa or jack input: they are used much more often that oss, and are then more stable. Good luck. -- David
