<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>17794</bug_id>
          
          <creation_ts>2012-07-17 18:34:19 +0000</creation_ts>
          <short_desc>Behavior of unconnected nodes needs to be specified</short_desc>
          <delta_ts>2014-10-28 17:17:01 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>AudioWG</product>
          <component>Web Audio API</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Windows 3.1</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>TBD</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Wilson">cwilso</reporter>
          <assigned_to name="Chris Rogers">crogers</assigned_to>
          
          
          <qa_contact>public-audio</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>70049</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Wilson">cwilso</who>
    <bug_when>2012-07-17 18:34:19 +0000</bug_when>
    <thetext>This can be described as &quot;What happens when a playing node is temporarily disconnected?&quot; - or, conversely, &quot;If you play a node, and no one is listening (aka connected), does it really play?&quot;.

This first came to my attention when I was working with Z Goddard on the Fieldrunners article for HTML5Rocks (http://www.html5rocks.com/en/tutorials/webaudio/fieldrunners/) - particularly, read the section entitled Pausing Sounds.  In short - they&apos;d noticed that if you disconnected an audio connection, it paused the audio &quot;stream&quot;.  I thought this seemed pretty wrong - knowing what I knew about how automation on AudioParams works - in discussions with Chris Rogers, he confirmed this wasn&apos;t his expected behavior.

My mental model of connections as an API user still really wants to be &quot;they&apos;re just like plugging 1/4&quot; audio cables between hardware units,&quot; despite knowing that is not the case here; I would expect if a node was playing and I disconnected its graph, then replugged it 0.5 sec later, it would be 0.5 sec further along - i.e., I would expect the behavior to be the same as if I had connected the node to a zero-gain gain node connected to the audiocontext.destination.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71670</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-07-30 20:24:44 +0000</bug_when>
    <thetext>(In reply to comment #0)
&gt; This can be described as &quot;What happens when a playing node is temporarily
&gt; disconnected?&quot; - or, conversely, &quot;If you play a node, and no one is listening
&gt; (aka connected), does it really play?&quot;.
&gt; 
&gt; This first came to my attention when I was working with Z Goddard on the
&gt; Fieldrunners article for HTML5Rocks
&gt; (http://www.html5rocks.com/en/tutorials/webaudio/fieldrunners/) - particularly,
&gt; read the section entitled Pausing Sounds.  In short - they&apos;d noticed that if
&gt; you disconnected an audio connection, it paused the audio &quot;stream&quot;.  I thought
&gt; this seemed pretty wrong - knowing what I knew about how automation on
&gt; AudioParams works - in discussions with Chris Rogers, he confirmed this wasn&apos;t
&gt; his expected behavior.
&gt; 
&gt; My mental model of connections as an API user still really wants to be &quot;they&apos;re
&gt; just like plugging 1/4&quot; audio cables between hardware units,&quot; despite knowing
&gt; that is not the case here; I would expect if a node was playing and I
&gt; disconnected its graph, then replugged it 0.5 sec later, it would be 0.5 sec
&gt; further along - i.e., I would expect the behavior to be the same as if I had
&gt; connected the node to a zero-gain gain node connected to the
&gt; audiocontext.destination.

After some early discussions with Chris, and thinking about this for some time, I think this is right and is intuitive.  We need to add more detail in the spec about the intended behavior here.  I have had some concerns about possible performance issues with lots of nodes being disconnected yet still consuming resources.  But I think that in most use cases the disconnect() call is not even needed or used, so this shouldn&apos;t be an issue there.  And in the specific cases where disconnect() is used (modular synths, etc.) we&apos;ll just need to make sure developers understand the potential performance impact.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113892</commentid>
    <comment_count>2</comment_count>
    <who name="Olivier Thereaux">olivier.thereaux</who>
    <bug_when>2014-10-28 17:14:09 +0000</bug_when>
    <thetext>Web Audio API issues have been migrated to Github. 
See https://github.com/WebAudio/web-audio-api/issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114038</commentid>
    <comment_count>3</comment_count>
    <who name="Olivier Thereaux">olivier.thereaux</who>
    <bug_when>2014-10-28 17:17:01 +0000</bug_when>
    <thetext>Closing. See https://github.com/WebAudio/web-audio-api/issues for up to date list of issues for the Web Audio API.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>