W3C home > Mailing lists > Public > public-audio@w3.org > April to June 2012

Re: [Agenda] W3C Audio WG Teleconference, 13th June 2012

From: Philip Jägenstedt <philipj@opera.com>
Date: Wed, 13 Jun 2012 11:21:16 +0200
To: "Audio Working Group" <public-audio@w3.org>, "olivier Thereaux" <olivier.thereaux@bbc.co.uk>
Message-ID: <op.wft39qr8sr6mfa@kirk>
On Mon, 11 Jun 2012 17:29:22 +0200, olivier Thereaux  
<olivier.thereaux@bbc.co.uk> wrote:

> The call will be held on June 13th at 3PM Boston time. That's noon in  
> San Francisco, 3PM in New York, 8PM in London, 9PM in Paris/Oslo and  
> 7am+1D in Auckland.

Regrets from me. I have one comment on the agenda:

> 1) Testing
> Let's start the conversation about the testing effort for the Web Audio  
> API and MIDI API. There are already several initiatives and tests  
> produced, but no coordinated effort yet. Expected outcome: rough  
> agreement on type of test framework, nominate test lead(s).

I think that we should use the W3C test harness, we use this at Opera for  
all of our new tests and I have no complaints about it:

http://w3c-test.org/resources/testharness.js

As for methodology, tests fall roughly into two categories:

1. Interface tests. This is things like asserting that "new  
AudioContext()" returns an object of the correct type, that it has the  
methods it should have, that calling ctx.createMediaElementSource() with  
no argument throws the appropriate exception, and so on. These tests are  
easy to write and to pass.

2. Semantic tests, to verify that the audio graph actually does the  
correct thing. In general, I think we should try to implement all native  
nodes in JavaScript and verify that the output is the same within some  
margin of error, a graph like:

+------------+
|            |
| Oscillator |--+
|  (native)  |  |   +---------+   +------+
+------------+  |   |         |   |      |
                 +-->| Compare |-->| Sink |
+------------+  |   |   (JS)  |   |      |
|            |  |   +---------+   +------+
| Oscillator |--+
|    (JS)    |
+------------+

The sink (AudioDestinationNode) is there just to drive the pipeline, the  
compare node would just output silence.

These tests are a lot more work to write, and should of course test every  
imaginable corner case of each node type.

-- 
Philip Jägenstedt
Core Developer
Opera Software
Received on Wednesday, 13 June 2012 09:21:35 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 13 June 2012 09:21:35 GMT