• 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: render callback timing
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: render callback timing


  • Subject: Re: render callback timing
  • From: Doug Wyatt <email@hidden>
  • Date: Fri, 5 Mar 2004 16:10:42 -0800

On Mar 5, 2004, at 15:32, Jeff Moore wrote:
One thing that occurred to me is that AUHAL doesn't directly pass the HAL's time stamps to it's clients. Instead, it passes time stamps that have been massaged so that they get zeroed when things are started. I'm not entirely clear on what AUHAL is doing to the time stamps, so perhaps Doug could provide a clearer picture of how the time stamps you see in the render callbacks of AUHAL relates to the time stamps the HAL passes to AUHAL's IOProc.

In the simplest case, for output, AUHAL just propagates the HAL's output timestamp (not the input time, not the "now" time).

If there is a sample rate conversion occuring in the output unit, it manufactures a new sample timestamp based on the client's sample rate. If a discontinuity in the timestamps coming from the HAL occurs -- which can happen if there's a major engine change or overload -- then the output unit uses the host times and rate scalar in its most recent HAL timestamps to interpolate a new sample time.

All of this also applies to AUConverter units.

At one point (10.1 through 10.2 if memory serves) AUHAL was offseting the HAL's sample timestamps so that they started at 0, but it doesn't do that any more.

But because of the potential for sample time moving at a completely different rate in the presence of a rate conversion, and the possibility of re-interpolation, it wouldn't be wise to assume a constant relationship between the HAL's sample times and the ones you see as a client of AUHAL.

Doug
_______________________________________________
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.


  • Follow-Ups:
    • Re: render callback timing
      • From: Doug Wyatt <email@hidden>
References: 
 >Re: render callback timing (From: Josh Anon <email@hidden>)
 >Re: render callback timing (From: Jeff Moore <email@hidden>)

  • Prev by Date: Re: render callback timing
  • Next by Date: Re: Still Confused about kMIDIPropertyReceiveChannels
  • Previous by thread: Re: render callback timing
  • Next by thread: Re: render callback timing
  • Index(es):
    • Date
    • Thread