I've been working on a problem with a Perl program sending and receiving large sysex dumps via the ALSA::MIDI module. It looks like there is a 4kB buffer in ALSA rawmidi that can be overrun if things go in or out too quickly. Keeping it from filling too fast outgoing is easy. But since there is no way for MIDI to tell the remote sender to slow down, preventing buffer overruns from incoming data is turning into a problem. Is there a way I can either tune the size of the buffer from Perl, perhaps with some kind of library call to ALSA's raw MIDI API, or somehow make the access blocking so that it won't try to take more data than it can handle? I've been looking at the C source for the amidi command, but I'm trying to deal with this in Perl if possible. It seems to depend a lot on how fast the device wants to send, but some devices break the sysex transfer into chunks and try to slow down, and other don't bother and just expect you to keep up. _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx https://lists.linuxaudio.org/listinfo/linux-audio-user