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

Handling cycles with no DelayNode

From: Robert O'Callahan <robert@ocallahan.org>
Date: Fri, 30 Aug 2013 13:11:38 +1200
Message-ID: <CAOp6jLaiXjND8_Tq=FOSUD4E5XTp_PG+G5SsM7dhv8vbhhJ=Qw@mail.gmail.com>
To: "public-audio@w3.org" <public-audio@w3.org>
The spec for connect() currently says "This is allowed only if there is at
least one DelayNode in the cycle or an exception will be thrown" but it
doesn't say what kind of exception. More importantly, I don't think we
should throw an exception here. Synchronous cycle detection can get
expensive when you're creating large graphs; it's likely to make graph
construction O(N^2) for certain kinds of graphs.

I think instead we should say that cycles containing no DelayNodes simply
produce silence. If browsers want to help developers find such bugs, they
can provide developer tool assistance to do so --- and that could be much
more useful than just an exception, for example it could report all the
nodes in the cycle. (Efficient asynchronous cycle detection --- e.g.
checking for cycles every Nms --- is easy.)

Rob
-- 
Jtehsauts  tshaei dS,o n" Wohfy  Mdaon  yhoaus  eanuttehrotraiitny  eovni
le atrhtohu gthot sf oirng iyvoeu rs ihnesa.r"t sS?o  Whhei csha iids  teoa
stiheer :p atroa lsyazye,d  'mYaonu,r  "sGients  uapr,e  tfaokreg iyvoeunr,
'm aotr  atnod  sgaoy ,h o'mGee.t"  uTph eann dt hwea lmka'n?  gBoutt  uIp
waanndt  wyeonut  thoo mken.o w  *
*
Received on Friday, 30 August 2013 01:12:05 UTC

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