From: Pieter P. <pi...@jo...> - 2008-03-05 11:30:32
|
Jonathan Woithe wrote: > Hi Francois > >> As I can remember, it was a few versions around the last streaming rebuild >> (about r780) with mush better streaming stability. > > I think it's relative. To be honest I've felt that ever since the streaming > update which corresponded to the freebob->ffado rename (circa rev 740) the > stability of the streaming system hasn't been as good. I think it's slowly > returning to where it was but at the present moment I still use the last > pre-ffado release when doing important recordings. > > I should qualify what I mean by "stability". I'm talking about the ability > of ffado to retain device sync over a long period of time (of the order of 6 > hours) while the machine is doing other things (like for example writing > audio data to disc). I should also point out that a vast majority of my > testing has been done with n=3 and size=1024 because latency isn't an issue > with my current usage patterns. It sort of surprises me that there would be issues regarding long-term sync stability. If so, the only thing I can think of that can cause this is the use of the timestamp DLL. But it shouldn't be too difficult to revert that back to the code you used pre-ffado. AFAIK all information that was present in the packet callback in your 'reference' version is still present in the current callbacks. It might be interesting to check whether that helps in any way. The other thing is of course that long-term stability is not something that can be easily tested. > >> Those versions had other bugs especially on startup and shutdown > > Yes. I think Pieter's latest changes have finally sorted most of those out. yes and no. Expect another rework since the implementation of the StreamProcessor controller is no good. It's a hacked together thing to get a grip on what's actually happening. The basic ideas are good, but I have to redo the implementation in order for everything to settle. > >> but I did manage to run my test session with 2 periods/buffer and >> relatively small buffers (256 frames/period). >> In two words, I noticed a regression on the stability at low latency. > > This is possible. I haven't been tracking low latency performance all that > closely. > >> Is this regression well known or is it a good idea to track exact numbers of >> versions I'm talking about? > > Pieter has mentioned that low latency performance isn't great at present and > he is aware of a number of issues. I understand he has ideas about how to > fix them and is slowly working through them. However, he did mention to me > at the end of last year that for the first 3 months this year he didn't > expect to have a lot of time to hack on ffado, and this probably explains > the lack of activity in this area of late. There are a few design flaws in the current system that will make it impossible to achieve very low latency. I am aware of these and will solve a few of them, but not all. I can start spending time on this again in the near future. > >> I prefer asking before doing because it's a long and borrowing test >> process. > > :-) Oh yeah. Better to avoid if at all possible. > > I'll defer final comment to Pieter since he is most familiar with the low > level streaming infrastructure and its status. My understanding is that > there are still some known low-latency issues in the low level code which he > is working on as time allows. One thing to notice is that the definition of latency has been changed in the new system. It now includes all buffering, whereas the previous version did not. So if you start comparing latencies, please do so with round-trip measurements. E.g. use jdelay to measure the round-trip latency. e.g. freebob with -n3 -p1024 gives 3387.184 frames roundtrip latency on the quatafire. current ffado svn with the same settings on the same device gives 3219.708 This means that the latency of the ffado code is 160 frames lower (for this device) than the freebob code. You should take that into account when doing the comparison. But the latency performance of ffado isn't as good as that of freebob, that's for sure. It's just not as bad as people sometimes think. Greets, Pieter |