Redesign the rawmidi midi read with timestamping API

GitHub pull_request - opened github at alsa-project.org
Wed Sep 22 13:14:46 CEST 2021


alsa-project/alsa-lib pull request #179 was opened from perexg:

It's follow-up for https://github.com/alsa-project/alsa-lib/pull/173 and https://github.com/alsa-project/alsa-lib/issues/172 . 

I am confident, that the direct framing mechanism for the transfer of the midi stream with the timestamping should be hidden and abstracted in the alsa-lib's API. This version uses a new read function (`snd_rawmidi_tread()`) which decodes and merges the data from the kernel frames. The framing mechanism is very specific to the kernel API and the cost of added data copy is negligible in this case (the kernel code basically does similar thing).

I kept the `snd_rawmidi_read()` functionality to read raw frames), but the structure for the parsing must be defined on it's own. This mechanism is unsupported.

This version seems more abstract and easy to use for apps than the separate decoder function for `snd_rawmidi_read()`.

Request URL   : https://github.com/alsa-project/alsa-lib/pull/179
Patch URL     : https://github.com/alsa-project/alsa-lib/pull/179.patch
Repository URL: https://github.com/alsa-project/alsa-lib


More information about the Alsa-devel mailing list