W3C home > Mailing lists > Public > public-audio@w3.org > July to September 2012

RE: Resolution to republish MSP as a note

From: Wei, James <james.wei@intel.com>
Date: Thu, 9 Aug 2012 03:13:09 +0000
To: Jussi Kalliokoski <jussi.kalliokoski@gmail.com>, Stéphane Letz <letz@grame.fr>
CC: "public-audio@w3.org" <public-audio@w3.org>
Message-ID: <668CBE60026FE04AB5523C7C3CCB00F81B1D55@SHSMSX101.ccr.corp.intel.com>
I cannot agree with you on the point for android audio.

Maybe you are not bothered by the audio glitch, but it is an issue many and many people care.

You can check the issue report for android:
http://code.google.com/p/android/issues/detail?id=3434


Best Regards

James


From: Jussi Kalliokoski [mailto:jussi.kalliokoski@gmail.com]
Sent: Wednesday, August 08, 2012 10:36 PM
To: Stéphane Letz
Cc: public-audio@w3.org
Subject: Re: Resolution to republish MSP as a note

On Wed, Aug 8, 2012 at 4:25 PM, Stéphane Letz <letz@grame.fr<mailto:letz@grame.fr>> wrote:
>
> I'm probably badly misinformed, but the value of high priority threads seems a bit vague to me, since I'm not sure about what's the OS support level for high-priority threads, I think for example in Linux you still have to compile your own kernel to get real high priority thread support.
No. You would possibly need a special kernel for very ¨*low latency* thread scheduling, but not for RT scheduling and thread priority management. A regular Linux kernel is now quite usable, assuming the audio thread can take RT scheduling capability, which is given using Realtime Kit in PulseAudio AFAICS or correctly setting a special "realtime" group with appropriate values (see here for JACK: http://jackaudio.org/realtime_vs_realtime_kernel and http://jackaudio.org/linux_rt_config)

Thought I'd be misinformed! Thanks for the clarification, and sorry for the mixup.

On OSX real-time threads are actually "time constraints" threads, that are going to preempt any other non RT thread and are "interleaved" with other RT threads. The CoreAudio callback will run in a real-time constraints started and configurated by the CoreAudio frameworks for the audio application.

> And using high-priority threads might not always even be desirable, for example in low-end devices it'd be horrible if the UI became completely unusable because an audio thread was occupying the whole thread.
But if not RT, then the audio will "glitch"... Do we want reliable audio? or not?

I think you mean to ask "do we want audio in RT threads", because even that doesn't always warrant reliable audio nor does not having it exclude reliable audio. The answer to that question would be sometimes yes, sometimes not. Glitchless audio isn't worth much if the application becomes otherwise completely unusable. Is high-priority audio threads a feature that warrants for the complexity that comes with the native nodes? Especially given that we still have the possibility of RT thread workers open.

I'm pretty sure that for example my Android phone doesn't run it's audio in a real-time thread, even networking connections can sometimes glitch the audio. But it's never bothered me, I'd actually rather have the UI in an RT thread like iOS does and have that always go before the audio and anything else for that matter. I'm pretty sure I'm not the only one.

Cheers,
Jussi
Received on Thursday, 9 August 2012 03:13:40 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 9 August 2012 03:13:42 GMT