• 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: Recommended way to handle suspend/resume on notebooks
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Recommended way to handle suspend/resume on notebooks


  • Subject: Re: Recommended way to handle suspend/resume on notebooks
  • From: Stéphane Letz <email@hidden>
  • Date: Tue, 13 Oct 2009 11:54:20 +0200


Message: 1
Date: Sun, 11 Oct 2009 12:15:25 -0700
From: Jeff Moore <email@hidden>
Subject: Re: Recommended way to handle suspend/resume on notebooks
To: CoreAudio API <email@hidden>
Message-ID: <email@hidden">email@hidden>
Content-Type: text/plain; charset=iso-8859-1; format=flowed; delsp=yes

The HAL doesn't do anything special to handle sleep/wake. It just  
happens. The HAL treats it just like any other large discrepancy in  
time. Generally, the HAL notices it when it does the first overload  
check after waking up. Ultimately, it depends on what was going on  
when sleep happened as to when the HAL will first notice the  
discontinuity. The result is that the HAL re-synchs the IO thread's  
time line with the hardware's time stamps.

For a piece of hardware, sleep generally means that things like DMAs  
are turned off and what not. So while the HAL is sorting out it's own  
issues, the driver is also contending with restarting itself. In  
practical terms, this usually means that the driver's time stamps will  
either re-start back at 0 or have some other large discontinuity in  
both the sample and host time.

At any rate, I would expect that the result of all this re-synching  
might result in a few overloads in a row (two or three seem likely for  
a lot of cases where the interruption might happen). But I would not  
expect that there would be an endless stream of them followed by the  
hardware stopping.

A couple of questions come to mind:
- What hardware/OS are you using?

MacPro 10.6.1 4 cores Built-in devices, Mac Book Pro 2.6 Ghz 10.6.1 Built-in devices,

- Is this behavior particular to your app or do other apps have  
similar behaviors?

Does not seems to happens with a few GUI based applications i tested... but

1) the problem does not happen on Leopard 10.5.8 (tested on the same MacPro 4 cores)

2) Symptoms on SL the are :

- Mac Pro : I start my audio stuff (JACK server + a simple sound generating application), suspend takes a long time to take effect then sound stops (OK...), but resume show this continuous stream of kAudioDeviceProcessorOverload message and sound never recover.

-  Mac Book Pro: I start my audio stuff (JACK server + a simple sound generating application), suspend goes fast, but sound still works during several second (hum...), when resume i see strange behaviours  (like the screen switch on again, then become dark again then switch on again, then this continuous stream of kAudioDeviceProcessorOverload messages and sound never recover.


- Have you looked at the telemetry in HALLab?

Seems like a bug in SL, should a issue a bug report?

Thanks

Stephane Letz
 _______________________________________________
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

  • Follow-Ups:
    • Re: Recommended way to handle suspend/resume on notebooks
      • From: Jeff Moore <email@hidden>
  • Prev by Date: Re: Audio devices input and output coupling
  • Next by Date: Re: ExtAudioFileRead Crash
  • Previous by thread: Re: Recommended way to handle suspend/resume on notebooks
  • Next by thread: Re: Recommended way to handle suspend/resume on notebooks
  • Index(es):
    • Date
    • Thread