At Tue, 8 Sep 2009 17:34:35 +0200, Giovanni Maruzzelli wrote:
On Tue, Sep 8, 2009 at 5:10 PM, Takashi Iwaitiwai@suse.de wrote:
Don't pass '=', e.g.
# echo channels_max 3 > /proc/..../dummy_pcm
Thanks, with your hint I was able to write to the proc file.
I confirm that the Skype client works well if I put (writing to the proc file, without modifying the driver source): buffer_bytes_max=1024 and period_bytes_max=512, and that it works bad if I do not write on the /proc file.
It would be very very very nice if you add this proc interface (or another method to alter those buffer and period values) also to the non-debug build, so users can be able to use the standard distributed prepackaged ALSA drivers, without resorting to editing source or recompiling.
Well, I have some uneasy feeling to expose it as non-debug. With proc parameter, you can pass every crazy value that can screw up the PCM core. In the non-debug mode, some parameter checks are omitted by assumption that the driver gives all correct, thus it might give Oops at worst. Although its write access is limited to root only, a possible cause should be removed as much as possible.
BTW: Would you mind to bump the MAX_PCM_SUBSTREAMS to 128? Currently is 16, and is a cap to the substreams actually created, by a configurable param default to 8. (people use routinely 20 concurrent Skype clients, 40 substreams. But there is juice in modern servers to have some more. 64 seems roomy enough [Skype client itself uses lot of cpu]).
That's easy and should be safe. I'll change later.
thanks,
Takashi