[Bug 17793] New: AudioNode.disconnect() needs to be able to disconnect only one connection

https://www.w3.org/Bugs/Public/show_bug.cgi?id=17793

           Summary: AudioNode.disconnect() needs to be able to disconnect
                    only one connection
           Product: AudioWG
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Web Audio API
        AssignedTo: crogers@google.com
        ReportedBy: cwilso@gmail.com
         QAContact: public-audio@w3.org


(Summary of email conversation in list)

There is currently no way to disconnect node A's connection to node B without
disconnecting all connections from node A to other nodes.  This makes it
impossible to disconnect node B from the graph without potential side effects,
as you have to:

- call disconnect() on node A (which disconnects all its outputs)
- reconnect every connection that node A used to have, EXCEPT the connection to
node B.

Not only is this cumbersome, it will be problematic in the future when we solve
the related issue of unconnected streams - which is currently exhibiting
incorrect behavior in Chrome (it pauses the audio stream), but is
underspecified in the spec today.  (filing separate bug).  Disconnecting then
reconnecting would have to have no side effects.  (It works okay today, but not
ideal - can click.)

Recommended solution:
- there should be a way to remove a single connection (by supplying the
destination node to be disconnected, since there can only be one connection to
a given destination node [tested]).

E.g.: the IDL for disconnect should read:

        void disconnect(in [Optional] AudioNode destination, in [Optional]
unsigned long output = 0)
            raises(DOMException);

this lets us keep most compatibility - node.disconnect() will still remove all
connections.

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Tuesday, 17 July 2012 18:30:26 UTC