Quoting John Check <j4strngs(a)bitless.net>et>:
Google Nelson Posse Lago. He stopped posting to this
list about 02.. I was
wondering if he got hit by a bus or something, but apparently not.
I'm alive
And the world shines for me today... (ELO)
Sorry, I haven't been able to keep up with the list, much to my regret...
But don't worry, I'll be back!
Anyway, lowlat audio over ethernet works and the ethernet delays are
negligible in practice, they are on the order of a few hundred microsseconds
*with retransmits* in practice and most of the time they won't even
happen. Please take a quick look at
http://gsd.ime.usp.br/~lago/masters/artigo-webmidia.pdf . It is small
and most of the text may be skipped (but please note the "sliding windows"
stuff).
As for resampling and resyncing multiple cards, that's more complicated...
Quoting Benno Senoner <sbenno(a)gardena.net>et>:
I don't think raw ethernet will buy us anything
over using UDP. These
few usecs less simply won't matter.
Definitely right. AND udp is simpler to use and allows for packets
up to 64K; the resulting ethernet fragmentation, apparently, doesn't
have a significant impact on performance either. This all tested with
relatively low-end hardware.
(but with ethernet you would have the disadvantage
that you loose
routability)
I didn't try, but I guess this system only works well (with lowlat)
in a LAN.
About the packet loss ratio: besides from broken
equipement (avoid hubs
completely, use only switched networks), the packet loss ration in a LAN
is pratically zero.
Again, that's right. If the net is dedicated, there should be virtually
no ethernet packet loss; but even if there is, the hardware retransmits
fast enough (IIRC, on the order of nanoseconds) for that to be transparent.
There are four important TODO things with my code:
- remove the CORBA stuff; it is a legacy from a past where I intended
corba to have a much more important role, but right now it only gives
us the ability to discover the nodes available, which would be much
easier with multicast/broadcast.
- clear up the C++ code so that it compiles with g++ 3.x.
- create a simple gui for the manager (should be eeeeasy).
- improve error handling (calling exit() at any error is not the best
way to go ;-)
See ya,
Nelson
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.