Hi alsa-devel,
Recently I noticed this problem and fixed it in the client consuming sequencer events: https://github.com/munt/munt/commit/0ea0846d0849872acf4384bdf5edeff026d12f42
Basically, the rawmidi virtual plugin enforces a 256-byte limit on events, and emits multiple events if e.g. a >256 byte sysex is encountered.
This does not seem to be documented behavior for snd_seq_event_input(), nor is the fixed limit described anywhere.
Would it be better if the maximum event size could be configured through params? That would avoid needing this clumsy workaround by sequencer clients. In any case, it seems that the documentation should be updated to reflect the need to receive multiple sequencer events to complete a sysex if EOX is not located in the first.
Please cc me as I'm not subscribed.