Hi,
Message: 1
Date: Thu, 15 Jan 2004 22:19:40 -0800 (PST)
From: rimas avizienis <funkrhythm@yahoo.com>
i have written a low latency coreaudio driver which
sends and receives UDP packets containing audio out
over the network interface to a special purpose piece
of hardware i've built. In order to get the
performance/latency/etc i needed when the machine was
running under a heavy load (doing real time processing
of live audio, etc) I had to modify the
AppleGMACEthernet.kext driver so that the main loop
in my coreaudio driver (get packet, copy buffers, call
taketimestamp, send a packet out) gets called at
primary interrupt time (highest priority in the
system) by using checkForInterrupt instead of just
interruptOccurred and having it call my coreaudio
driver. I basically bypassed the whole networking
stack.
You might need to do something of that sort...
That woud be more or less be exactly what I need, as I am also working on an audio over Ethernet application, except that I have a PowerMac on both ends. While I'd love to stay in userland wherever possible and don't have any plans to move the receiving side to the kernel, I'd be interested in any tweaks you did to the audio driver. My current audio driver .kext is using IOKit timers to replace the hardware interrupt, and I am experiencing problems when going below 128 frames @ 48kHz. I am in the lucky situation where bandwidth is not the problem (switched GBit), but if there are ways to get a lower latency I'd love to hear about them. -Stefan _______________________________________________ darwin-kernel mailing list | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.
participants (1)
-
Stefan Werner