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

Re: New proposal for fixing race conditions

From: Marcus Geelnard <mage@opera.com>
Date: Mon, 29 Jul 2013 21:14:43 +0200
Message-ID: <CAL8YEv4GZ4347dvx0_6PXcr4woe9dtrr_pYhR85=y9FLYu8czA@mail.gmail.com>
To: Jer Noble <jer.noble@apple.com>
Cc: Jussi Kalliokoski <jussi.kalliokoski@gmail.com>, "Robert O'Callahan" <robert@ocallahan.org>, Ehsan Akhgari <ehsan.akhgari@gmail.com>, Olivier Thereaux <Olivier.Thereaux@bbc.co.uk>, WG <public-audio@w3.org>
On Mon, Jul 29, 2013 at 8:27 PM, Jer Noble <jer.noble@apple.com> wrote:

>
> On Jul 29, 2013, at 11:21 AM, Jussi Kalliokoski <
> jussi.kalliokoski@gmail.com> wrote:
>
> On Mon, Jul 29, 2013 at 6:52 PM, Jer Noble <jer.noble@apple.com> wrote:
>
>>
>> On Jul 25, 2013, at 5:23 PM, Robert O'Callahan <robert@ocallahan.org>
>> wrote:
>>
>> I already posted a testcase for the second issue. Chris has informally
>> proposed to fix it by introducing the concept of "non-neuterable
>> ArrayBuffers". I don't think that solution will get past the editors of the
>> Typed Array spec (or the TAG, it looks like), but at least we agree the
>> issue must be fixed one way or another.
>>
>>
>> To be clear, WebKit has already fixed this issue (and so, I believe, has
>> Blink), without exposing "non-neuterable ArrayBuffers" to the web.  We did
>> introduce the concept of non-neuterable buffers internally, but only as an
>> implementation detail, and that detail is not web-exposed.
>>
>
> How is that not web-exposed when it makes some array-buffers
> non-neuterable? I think that's very observable behavior and needs to be
> specced.
>
>
> It only makes the internal AudioBuffer data structures non-neuterable.
>  All ArrayBufferViews (and their associated ArrayBuffers) returned by
> AudioBuffer.getSourceData() remain neuterable (and neutered).
>
> -Jer
>
>
Not sure what that means. I did an experiment in Chromium (i.e. Blink)
where I took the array returned by AudioBuffer.getChannelData() and passed
it on to a worker using postMesage(). Even if the AudioBuffer was updated,
the worker couldn't observe it, so I assume that the array wasn't neutered
but in fact copied, but I could be wrong.

/Marcus
Received on Monday, 29 July 2013 19:15:16 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:50:10 UTC