Ticket #322 (new Bugs)
I/O modes
| Reported by: | mrpingouin | Owned by: | admin |
|---|---|---|---|
| Priority: | 1 | Milestone: | 1.0 beta |
| Component: | Liquidsoap | Version: | |
| Keywords: | Cc: | ||
| Mac OSX: | yes | Linux: | yes |
| NetBSD: | yes | Other Operating System: | yes |
| FreeBSD: | yes |
Description
I was reading the history of our Alsa classes, and it seems that we could clean traces of past attempts.
It seems to me that IoRing? is very good, it provides tight I/O. It clearly is better than the old Alsa code with active waiting and delays. Now that it supports a size=1 ring, it might also be as good as the unbuffered Alsa operators. Anybody using that one?
The old IoRing? buffer is still used for buffered I/O in opal. This is done in the old style, active waiting and delays. Couldn't we use IoRing? there? Or is Opal dead anyways?
While this kind of cleanup makes sense before the next release, it's also OK to wait, especially since we might be working more on synchronization/buffers/clocks after the release. For example, in my view we should actually only keep the unbuffered Alsa in the future, and create a pure IoRing? operator that we would combine. It's kind of scary to touch that again; I hope we'll not loose any of the progress we've painfully made so far.
