Hi Clemens, On 23/08/16 11:37, Clemens Ladisch wrote: > Felipe Ferreri Tonello wrote: >> On 22/08/16 13:43, Clemens Ladisch wrote: >>> Felipe F. Tonello wrote: >>>> + if (data > send_data) >>>> + usleep(delay * 1000); >>> >>> The MIDI data is sent asynchonously, so this delay is not _between_ messages. >>> You'd have to add 320 µs for any byte not yet sent (I guess you have to use >>> snd_rawmidi_status_get_avail() to find out how many have been sent). >> >> Right. Or I can just use snd_rawmidi_drain()? > > This function not only drains the ALSA buffer, but also waits for the > hardware FIFO to empty. And most drivers do not implement this, in > which case the framework just does a fixed wait of 50 ms, which would > correspond to a FIFO size of 156 bytes. > Ok, so does that mean that it is not safe to use drain()? If that is the case, than I will use snd_rawmidi_status_get_avail(). -- Felipe
Attachment:
0x92698E6A.asc
Description: application/pgp-keys
_______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel