W3C home > Mailing lists > Public > public-audio@w3.org > October to December 2015

Re: New name for "AudioWorker"

From: Paul Adenot <padenot@mozilla.com>
Date: Wed, 7 Oct 2015 19:20:05 +0200
Message-ID: <CANWt0WpZ0U-pT2bEw+BejCusEGQpQK3cXG2itkihZYmSd3xnSg@mail.gmail.com>
To: Ian Kilpatrick <ikilpatrick@chromium.org>
Cc: Chris Wilson <cwilso@google.com>, Hongchan Choi <hongchan@google.com>, Alex Russell <slightlyoff@google.com>, "public-audio@w3.org Group" <public-audio@w3.org>, Shane Stephens <shanestephens@google.com>, Ian Vollick <vollick@chromium.org>, Elliott Sprehn <esprehn@google.com>
On Wed, Oct 7, 2015 at 7:12 PM, Ian Kilpatrick <ikilpatrick@chromium.org>

> Hi all,
> Houdini is attempting to add extension points into the rendering pipeline
> of browsers. Because of this we need properties similar to what is required
> for AudioWorker (at the moment we've called it IsolatedWorker, fine with
> changing the name to IsolatedProcessor or something <bikeshed-here>).
> I'm currently writing a draft of the spec at the moment and should appear
> here (https://drafts.css-houdini.org/isolated-workers/) at the end of the
> week.
> It will be based on the strawperson discussed at Houdini Paris F2F. (
> http://bfgeek.com/css-houdini-drafts/css-script-api/Overview.html).
> A few properties that we'd like from this spec:
>  - Thread-agnostic - that is, it does not define on which thread this is
> run, may share a thread with something else, i.e. main document context.
>  - Subset of APIs - remove network request APIs etc.

I'd rather have this opt-in (you pick the APIs you want) than opt-out (you
remove some APIs).

The rest is what we need indeed.


>  - Hook based - APIs will be reached by registering callbacks on
> GlobalScope, e.g. registerPaint() not event based.
>  - Life-cycle - can be created/destroyed at defined points in time.
> Similar to ServiceWorker.

> Additionally we've observed that javascript implementations have a high
> memory overhead per javascript context. We believe we want to limit the
> number created, so similar to the main javascript execution context, code
> shares a single javascript execution context. Details of this is probably
> better discussed one there is a proposal.
> Ian
> On Wed, Oct 7, 2015 at 9:32 AM, Chris Wilson <cwilso@google.com> wrote:
>> I'm actually off-the-cuff against trying to boil the ocean of the general
>> pattern.  This is pretty specific - the new thing , runs *IN* something
>> that can be a Worker-like process, but they're expected to share the
>> process.  The thing you can instantiate lots of (runtime contexts?) run
>> inside that process.
>> I was expecting we would rename AW to CustomAudioProcessor, still define
>> them as running inside a Worker (and define how that Worker-sharing works),
>> and use Worker messaging.  That seemed like the shortest path to success.
>> On Wed, Oct 7, 2015 at 9:16 AM, Hongchan Choi <hongchan@google.com>
>> wrote:
>>> Nothing forces workers to be heavy weight, but doesn't it have the
>>> assumption that it runs on its own thread? What we want is to be able to
>>> throw JS code into VM that runs on the audio thread.
>>> Perhaps we can break that assumption, and propose a new type of Worker.
>>> On Wed, Oct 7, 2015 at 9:09 AM Alex Russell <slightlyoff@google.com>
>>> wrote:
>>>> Why isn't this thing a worker? What forces workers to be heavyweight?
>>>> Also, would be good to align with the Houdini folks on this as they're
>>>> proposing similar things in the rendering and compositing space.
>>>> Regards
>>>> On 7 Oct 2015 7:52 a.m., "Paul Adenot" <padenot@mozilla.com> wrote:
>>>>> We need to decide for a new name for something that:
>>>>> - Runs off-main-thread
>>>>> - Has access to a very limited set of APIs
>>>>> - Can be instantiated a lot of times in the same document (much more
>>>>> than Workers can or would)
>>>>> - Is specialized to one domain (audio, video, etc.)
>>>>> - ... ?
>>>>> It is likely that we would be the first group to spec something like
>>>>> this, but it would be used by other groups (layout people, video/image
>>>>> processing folks, etc.). We need something that is not too tied to audio,
>>>>> or can be adapted. I propose "Processor", which conveys the meaning of
>>>>> taking something as input, applying a transformation, and outputting it.
>>>>> I'm very open to suggestions though, this is merely to get the ball rolling.
>>>>> Thoughts ?
>>>>> Paul.
Received on Wednesday, 7 October 2015 17:20:56 UTC

This archive was generated by hypermail 2.3.1 : Friday, 18 December 2015 09:00:35 UTC