Re: Streaming OS X audio over network
Re: Streaming OS X audio over network
- Subject: Re: Streaming OS X audio over network
- From: Philippe Wicker <email@hidden>
- Date: Thu, 29 Jan 2004 07:43:47 +0100
On Wednesday, January 28, 2004, at 11:40 PM, Jeff Moore wrote:
Thanks Jeff for the reply.
I found a tutorial about debugging a device driver on the Apple doc web
site here:
http://developer.apple.com/documentation/Darwin/Conceptual/howto/
kext_tutorials/hello_debugger/hello_debugger.html
Thanks again,
The best tool for debugging the kernel is gdb on a second machine. I
spend all my time in user land, so I haven't had to do it a whole lot.
When I have had to, it's been pretty easy to get going. I usually
forget that you have to enable it in the firmware by setting the
boot-args to include "debug=0x14E" on machines that haven't already
been set to do it. I don't know offhand of any kernel debugging
tutorials available, but I bet you'd get lots of good recommendations
if you ask the good folks on the Darwin-Dev mailing list.
As far as the difference between a kernel driver and a user-land
driver, the big difference is that in user-land, you are totally on
your own with regard to talking to your hardware, dealing with
IOProcs, and implementing all the various properties and semantics
that folks have come to expect from a device vended through the HAL.
The amount of work that goes into this is quite large. By writing a
kernel driver, the HAL does all that work for you.
On Jan 27, 2004, at 11:26 PM, Philippe Wicker wrote:
On Wednesday, January 28, 2004, at 03:43 AM, Jeff Moore wrote:
On Jan 27, 2004, at 4:40 PM, Tim Hollingsworth wrote:
Could I develop a "user land" driver and then port it to a kernel
extension?
No, probably not. The two driver models are very very different and
have essentially no overlap. In fact, the speed up you'd gain in the
compile-run-crash-debug-fix cycle will be totally outweighed by the
extra time it takes to deal with the additional complexity of
writing a user-land driver.
What are the available tools to debug while running in the kernel
(apart from the old and traditional "(k)printf" or "IOLog" method)?
I had the opportunity to study the code of a real world user driver
(Jack driver JAS). Apart the difficulty to understand how pieces of
the puzzle fit together, I didn't see the "additional complexity" you
mention. Could you give some hints about this point? Thanks.
The guidance I like to give is that folks should do a kernel driver
unless there are some very extreme circumstances that prevent a
kernel driver from being practical. In the grand scheme of things,
the kernel driver will give you better integration with the system.
--
Jeff Moore
Core Audio
Apple
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.
Philippe Wicker
email@hidden
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.
--
Jeff Moore
Core Audio
Apple
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.
Philippe Wicker
email@hidden
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.