<?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>17359</bug_id>
          
          <creation_ts>2012-06-05 11:48:20 +0000</creation_ts>
          <short_desc>(ConvolverNodeState): ConvolverNode state modification</short_desc>
          <delta_ts>2014-10-28 17:16:34 +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>PC</rep_platform>
          <op_sys>All</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="Philip Jägenstedt">philipj</reporter>
          <assigned_to name="Chris Rogers">crogers</assigned_to>
          <cc>crogers</cc>
    
    <cc>mage</cc>
    
    <cc>public-audio</cc>
          
          <qa_contact name="This bug has no owner yet - up for the taking">dave.null</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>68670</commentid>
    <comment_count>0</comment_count>
    <who name="Philip Jägenstedt">philipj</who>
    <bug_when>2012-06-05 11:48:20 +0000</bug_when>
    <thetext>Audio-ISSUE-72 (ConvolverNodeState): ConvolverNode state modification [Web Audio API]

http://www.w3.org/2011/audio/track/issues/72

Raised by: Philip Jägenstedt
On product: Web Audio API

When buffer and normalize are modified, when does it take effect? If modifications are not applied atomically, it&apos;s possible to get spikes (or dropouts) depending on the order of setting and the previous state.

Related: https://www.w3.org/2011/audio/track/issues/28

Further, setting normalize to true is defined using the phrasing &quot;when the buffer atttribute is set&quot;, which implies that the order of setting the attributes matters. However, no such order-dependence exists when setting normalize to false.

If an order-dependence is intended, it ought to be changed to either commit atomically after the script thread has finished, or we should have a setter taking both a buffer and a normalize flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68888</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-06-08 23:06:38 +0000</bug_when>
    <thetext>Much more detail added here:
https://dvcs.w3.org/hg/audio/rev/4df179094971</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68956</commentid>
    <comment_count>2</comment_count>
    <who name="Marcus Geelnard (Opera)">mage</who>
    <bug_when>2012-06-12 09:13:59 +0000</bug_when>
    <thetext>The change mostly covers the questions asked. Feedback on the new changes:

- The algorithm defined in the C++ (?) function calculateNormalizationScale would be much better defined in pseudo code, and could probably be more compact. The code also seems to depend on internal data structures specific to a particular implementation.

- The text &quot;A mono, stereo, or 4-channel &lt;code&gt;AudioBuffer&lt;/code&gt; containing the (possibly multi-channel) impulse response&quot; is confusing. What does &quot;possibly multi-channel&quot; mean in this context? Can a mono AudioBuffer be multi-channel?

- Editorial: &quot;Normative requirements for multi-channel convolution matrixing are described &lt;a href=&quot;#Convolution-reverb-effect&quot;&gt;here&lt;/a&gt;&quot;. Please don&apos;t use &quot;here&quot;-links.

- It is unspecified what should happen if you first set the buffer attribute to an AudioBuffer &quot;buf&quot;, and later make changes to your locally referenced &quot;buf&quot; (or, for that matter, make modifications directly to the array returned by buffer.getChannelData(k)).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68959</commentid>
    <comment_count>3</comment_count>
    <who name="Marcus Geelnard (Opera)">mage</who>
    <bug_when>2012-06-12 09:19:09 +0000</bug_when>
    <thetext>...additionally, I&apos;d suggest that the buffer + normalize attributes are replaced by a single setImpulseResponse(AudioBuffer buffer, boolean normalize) method. That would make the interface much clearer, and avoid possible problems with modifying the AudioBuffer after setting it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68961</commentid>
    <comment_count>4</comment_count>
    <who name="Philip Jägenstedt">philipj</who>
    <bug_when>2012-06-12 09:41:54 +0000</bug_when>
    <thetext>Indeed, transferring ownership of the buffer and neutering it would avoid any problems with later modification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113857</commentid>
    <comment_count>5</comment_count>
    <who name="Olivier Thereaux">olivier.thereaux</who>
    <bug_when>2014-10-28 17:13:40 +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>114000</commentid>
    <comment_count>6</comment_count>
    <who name="Olivier Thereaux">olivier.thereaux</who>
    <bug_when>2014-10-28 17:16:34 +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>