• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Safety Offset (Was: I/O Latency (Was: Layman with a mission))
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Safety Offset (Was: I/O Latency (Was: Layman with a mission))


  • Subject: Re: Safety Offset (Was: I/O Latency (Was: Layman with a mission))
  • From: Jeff Moore <email@hidden>
  • Date: Thu, 14 Oct 2004 14:37:31 -0700

Unless the speed of the CPU is going to affect the quality of the time stamps the driver drops, the safety offset is orthogonal to the CPU speed or the number of CPUs. This is not to say that it won't need to vary by machine. It very well be the case that some future machine will have a slightly different DMA or cache architecture that affects the way data moves around and thus require a larger or smaller safety offset.

Finally, none of the other things you describe affect the device's safety offset at all. They may very well require the app to do more buffering or add latency or whatever, but they definitely do not affect the individual pieces of hardware and how close to "now" the HAL can get for doing IO.

On Oct 14, 2004, at 1:35 PM, Herbie Robinson wrote:

At 12:11 PM -0700 10/14/04, Jeff Moore wrote:
Because it's not an exact science, driver writers need to examine their requirements carefully and do some profiling and experimentation to figure out the best number to report as the safety offset for their hardware.

Actually, for decent hardware, the optimum value is probably going to vary quite a lot depending on the CPU speed and the number of CPUs.


Also, note that applications must have more buffers to do any of the following:

1.  Support multiple interfaces.

2.  Support audio processing on multiple CPUs (networked or local).

This is because they won't be able to do all the processing in a single callback.
--
-*****************************************
** http://www.curbside-recording.com/ **
******************************************
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


--

Jeff Moore
Core Audio
Apple


_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >Re: I/O Latency (Was: Layman with a mission) (From: William Stewart <email@hidden>)
 >Re: I/O Latency (Was: Layman with a mission) (From: Philippe Wicker <email@hidden>)
 >Re: Safety Offset (Was: I/O Latency (Was: Layman with a mission)) (From: Jeff Moore <email@hidden>)
 >Re: Safety Offset (Was: I/O Latency (Was: Layman with a mission)) (From: Herbie Robinson <email@hidden>)

  • Prev by Date: Re: Find out all IOProcs attached to an Audio device in a Process
  • Next by Date: Re: AUGraphGetCPULoad() info?
  • Previous by thread: Re: Safety Offset (Was: I/O Latency (Was: Layman with a mission))
  • Next by thread: Re: I/O Latency (Was: Layman with a mission)
  • Index(es):
    • Date
    • Thread