- From: Chris Rogers <crogers@google.com>
- Date: Mon, 23 May 2011 10:42:08 -0700
- To: robert@ocallahan.org
- Cc: public-audio@w3.org
- Message-ID: <BANLkTimKoROxk-Xm9SewjD=W51sY1nS2qg@mail.gmail.com>
On Mon, May 23, 2011 at 1:27 AM, Robert O'Callahan <robert@ocallahan.org>wrote: > https://wiki.mozilla.org/MediaStreamAPI#ScenariosOn Mon, May 23, 2011 at > 6:32 PM, Chris Rogers <crogers@google.com> wrote: > >> On Sun, May 22, 2011 at 9:10 PM, Robert O'Callahan <robert@ocallahan.org>wrote: >> >>> The apparent redundancy is with AudioNode and Stream, not >>> HTMLMediaElement. >>> >> >> For Stream, I assume you're talking about Ian's media capture and >> peer-to-peer streaming proposal: >> >> http://www.whatwg.org/specs/web-apps/current-work/complete/video-conferencing-and-peer-to-peer-communication.html >> >> This is designed for peer-to-peer communication. It's clearly not >> designed for and does not solve the types of use cases and audio processing >> tasks which the Web Audio API is designed to solve. They're different APIs >> each with their own much different focus and orientation, so I think it's a >> considerable stretch to call them redundant. >> > > The redundancy is that both APIs introduce an abstraction representing > streams of audio data which connect sources and sinks. > > The Stream proposal supports > -- capturing local audio and video to use as Stream sources > -- using HTML media elements as Stream sinks for output > -- compressing Stream output and capturing the results as a binary Blob > -- using a real-time peer-to-peer connection as a Stream sink > > Your AudioNode proposal supports > -- using HTML media elements as sources > -- mixing audio streams with various effects > -- playback of audio output > > IMHO everything you can do with a Stream you should be able to do with an > AudioNode and vice versa. I suspect the fact that these specs don't overlap > in functionality (yet) is sheer luck, and the fact that these specs have > grown up separately is an accident. But it's not too late to fix that. We > could perhaps work around it by introducing two-way bridging between Streams > and AudioNodes, but that seems far less elegant than simply unifying Streams > and AudioNodes into a single kind of object. > > Rob > Rob, I'm afraid I'll just have to strongly disagree. The Stream API is designed specially for peer-to-peer communication. Superficially it has sources and sinks of data like the Web Audio API, but if you really read both specs carefully their design goals are quite distinct. The Web Audio API has had a great deal of care in its design to address a variety of use cases for client side games, music, and interactive applications. The Stream API does not replace its functionality. Does it have the concept of intermediate processing modules, routing graphs, implicit unity gain summing junctions, fanout support, channel mix-up and mix-down, sample-accurate timing, among many other design features? -- no it does not. The Web Audio API has implementations, working examples and demos, showing it to be viable in solving the problems it was designed for. The Stream API is in a much earlier stage, and although I believe it will be successful for what it was designed, it's extremely unlikely that we'll be seeing it running the same kinds of audio applications as the Web Audio API. Chris
Received on Monday, 23 May 2011 17:42:36 UTC