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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>83558</bug_id>
          
          <creation_ts>2012-04-10 02:24:27 -0700</creation_ts>
          <short_desc>Add Doppler effect support for MediaElementAudioSourceNode</short_desc>
          <delta_ts>2012-04-19 00:21:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Audio</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Xingnan Wang">xingnan.wang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>crogers</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>599106</commentid>
    <comment_count>0</comment_count>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-04-10 02:24:27 -0700</bug_when>
    <thetext>AudioBufferSourceNode will incorporate the doppler shift to pitch rate, MediaElementAudioSourceNode should also support doppler effect on the audio source.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599114</commentid>
    <comment_count>1</comment_count>
      <attachid>136415</attachid>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-04-10 02:39:11 -0700</bug_when>
    <thetext>Created attachment 136415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599331</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-04-10 09:20:26 -0700</bug_when>
    <thetext>Is this requirement in the spec?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599395</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-04-10 10:38:05 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Is this requirement in the spec?

It isn&apos;t in the spec, and I wasn&apos;t anticipating this as even a possibility.  I would suggest we avoid this because it could significantly complicate integration with HTMLMediaElement.  I also don&apos;t think it&apos;s likely to be needed very often.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604624</commentid>
    <comment_count>4</comment_count>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-04-18 00:58:28 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Is this requirement in the spec?
&gt; 
&gt; It isn&apos;t in the spec, and I wasn&apos;t anticipating this as even a possibility.  I would suggest we avoid this because it could significantly complicate integration with HTMLMediaElement.  I also don&apos;t think it&apos;s likely to be needed very often.

Hi Chris,

I`m a little confused that AudioBufferSourceNode supports the doppler effect but HTMLMediaElement not.
They are both audio sources, why different?
Does that mean HTMLMediaElementNode + Panner(with doppler) is rare case and it`s meaningless to support it?
Also it seems that they are not specified in spec. 
And how about new-added Oscillator? It should be another kind of source node, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604868</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-04-18 10:35:18 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; Is this requirement in the spec?
&gt; &gt; 
&gt; &gt; It isn&apos;t in the spec, and I wasn&apos;t anticipating this as even a possibility.  I would suggest we avoid this because it could significantly complicate integration with HTMLMediaElement.  I also don&apos;t think it&apos;s likely to be needed very often.
&gt; 
&gt; Hi Chris,
&gt; 
&gt; I`m a little confused that AudioBufferSourceNode supports the doppler effect but HTMLMediaElement not.
&gt; They are both audio sources, why different?

Yes, this is a good point.  But it is difficult to implement the pitch shift using this technique as in this patch.


&gt; Does that mean HTMLMediaElementNode + Panner(with doppler) is rare case and it`s meaningless to support it?

I think it will be a much rarer case than AudioBufferSourceNode.  I wouldn&apos;t say it&apos;s meaningless in an ideal world, but it is just extremely fragile to try to pitch shift with resampler changes in this way because of the way the HTMLMediaElements are implemented in browsers.

&gt; Also it seems that they are not specified in spec. 

True, I should be clear about it.

&gt; And how about new-added Oscillator? It should be another kind of source node, right?

I think the Oscillator can support the pitch shift very similar to AudioBufferSourceNode.  I&apos;ll try to be clear in the spec...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605424</commentid>
    <comment_count>6</comment_count>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-04-19 00:21:00 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; &gt; Is this requirement in the spec?
&gt; &gt; &gt; 
&gt; &gt; &gt; It isn&apos;t in the spec, and I wasn&apos;t anticipating this as even a possibility.  I would suggest we avoid this because it could significantly complicate integration with HTMLMediaElement.  I also don&apos;t think it&apos;s likely to be needed very often.
&gt; &gt; 
&gt; &gt; Hi Chris,
&gt; &gt; 
&gt; &gt; I`m a little confused that AudioBufferSourceNode supports the doppler effect but HTMLMediaElement not.
&gt; &gt; They are both audio sources, why different?
&gt; 
&gt; Yes, this is a good point.  But it is difficult to implement the pitch shift using this technique as in this patch.
&gt; 
&gt; 
&gt; &gt; Does that mean HTMLMediaElementNode + Panner(with doppler) is rare case and it`s meaningless to support it?
&gt; 
&gt; I think it will be a much rarer case than AudioBufferSourceNode.  I wouldn&apos;t say it&apos;s meaningless in an ideal world, but it is just extremely fragile to try to pitch shift with resampler changes in this way because of the way the HTMLMediaElements are implemented in browsers.

Do you mean the real limitation is we use resampler to change the pitch? 
It will be much better to use other pitch-shift methods without time change, right?

&gt; 
&gt; &gt; Also it seems that they are not specified in spec. 
&gt; 
&gt; True, I should be clear about it.
&gt; 
&gt; &gt; And how about new-added Oscillator? It should be another kind of source node, right?
&gt; 
&gt; I think the Oscillator can support the pitch shift very similar to AudioBufferSourceNode.  I&apos;ll try to be clear in the spec...

I also have another question. We implement resampling internally in AudioBufferSourceNode, and do doppler pitch shifting together now. But why not to implement doppler pitch shift separately in pannerNode? 
One possible reason I guess is it may reduce once resamping, but if so how about the case that we have many AudioBufferSourceNode?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136415</attachid>
            <date>2012-04-10 02:39:11 -0700</date>
            <delta_ts>2012-04-10 10:38:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83558-20120410174250.patch</filename>
            <type>text/plain</type>
            <size>6829</size>
            <attacher name="Xingnan Wang">xingnan.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDIxMThjZmIwM2ExNDdi
NDlmYmMxMmY1NzM0ZDA5NDBjYjU5OWM4Yy4uZTYyYTNiZTllZTZiZDljZWY4YzAwMTUzZmM3MTM0
MmUzNzE1MWEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA0LTEwICBYaW5n
bmFuIFdhbmcgIDx4aW5nbmFuLndhbmdAaW50ZWwuY29tPgorCisgICAgICAgIEFkZCBEb3BwbGVy
IGVmZmVjdCBzdXBwb3J0IGZvciBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNTU4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvUGFubmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Bhbm5lck5vZGU6
Om5vdGlmeUF1ZGlvU291cmNlc0Nvbm5lY3RlZFRvTm9kZSk6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5v
ZGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjp1cGRh
dGVEb3BwbGVyUmF0ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6c2V0Rm9ybWF0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTo6cHJvY2Vzcyk6CisgICAgICAgICogTW9kdWxl
cy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaDoKKyAgICAgICAgKE1lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRB
dWRpb1NvdXJjZU5vZGU6OnNldFBhbm5lck5vZGUpOgorCiAyMDEyLTA0LTA5ICBMZXZpIFdlaW50
cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBDbGVhbiB1cCBMYXlvdXRVbml0
IHVzYWdlIGluIERPTU5vZGVIaWdobGlnaHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb1Bhbm5lck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb1Bhbm5lck5vZGUuY3BwCmluZGV4IDExMDU3NzMyNjA0OGFmZjA4
YWY5ZTRlN2Y5MWI3MzNiMTgzYTJhYzcuLjhkZTI5MDcyYzdjNGQ0MzllNDRjNDVhYzc1YWNhZmFi
MTIyODU4ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9QYW5uZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvUGFubmVyTm9kZS5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJBdWRpb05vZGVP
dXRwdXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiSFJURlBhbm5l
ci5oIgorI2luY2x1ZGUgIk1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oIgogI2luY2x1ZGUg
PHd0Zi9NYXRoRXh0cmFzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC0zMDUsMTEgKzMw
NiwxNCBAQCB2b2lkIEF1ZGlvUGFubmVyTm9kZTo6bm90aWZ5QXVkaW9Tb3VyY2VzQ29ubmVjdGVk
VG9Ob2RlKEF1ZGlvTm9kZSogbm9kZSkKICAgICBBU1NFUlQobm9kZSk7CiAgICAgaWYgKCFub2Rl
KQogICAgICAgICByZXR1cm47Ci0gICAgICAgIAorCiAgICAgLy8gRmlyc3QgY2hlY2sgaWYgdGhp
cyBub2RlIGlzIGFuIEF1ZGlvQnVmZmVyU291cmNlTm9kZS4gIElmIHNvLCBsZXQgaXQga25vdyBh
Ym91dCB1cyBzbyB0aGF0IGRvcHBsZXIgc2hpZnQgcGl0Y2ggY2FuIGJlIHRha2VuIGludG8gYWNj
b3VudC4KICAgICBpZiAobm9kZS0+bm9kZVR5cGUoKSA9PSBOb2RlVHlwZUF1ZGlvQnVmZmVyU291
cmNlKSB7CiAgICAgICAgIEF1ZGlvQnVmZmVyU291cmNlTm9kZSogYnVmZmVyU291cmNlTm9kZSA9
IHJlaW50ZXJwcmV0X2Nhc3Q8QXVkaW9CdWZmZXJTb3VyY2VOb2RlKj4obm9kZSk7CiAgICAgICAg
IGJ1ZmZlclNvdXJjZU5vZGUtPnNldFBhbm5lck5vZGUodGhpcyk7CisgICAgfSBlbHNlIGlmIChu
b2RlLT5ub2RlVHlwZSgpID09IE5vZGVUeXBlTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2UpIHsKKyAg
ICAgICAgTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlKiBtZWRpYUVsZW1lbnRTb3VyY2VOb2Rl
ID0gcmVpbnRlcnByZXRfY2FzdDxNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUqPihub2RlKTsK
KyAgICAgICAgbWVkaWFFbGVtZW50U291cmNlTm9kZS0+c2V0UGFubmVyTm9kZSh0aGlzKTsKICAg
ICB9IGVsc2UgeyAgICAKICAgICAgICAgLy8gR28gdGhyb3VnaCBhbGwgaW5wdXRzIHRvIHRoaXMg
bm9kZS4KICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG5vZGUtPm51bWJlck9mSW5w
dXRzKCk7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwCmluZGV4IDhhZjQ0MjMw
YjZlNGIyYWY1YjY4MDk1Nzc0ZTNmNTUzMGFlMWUxYjEuLjdkYTU3NWQ2NWRmYjAxOWFiYzczMDQ4
OGFjODQ0MDcxMTQ5MWM2NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAKQEAgLTUw
LDYgKzUwLDggQEAgTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpNZWRpYUVsZW1lbnRBdWRp
b1NvdXJjZU5vZGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LAogICAgICwgbV9tZWRpYUVsZW1lbnQo
bWVkaWFFbGVtZW50KQogICAgICwgbV9zb3VyY2VOdW1iZXJPZkNoYW5uZWxzKDApCiAgICAgLCBt
X3NvdXJjZVNhbXBsZVJhdGUoMCkKKyAgICAsIG1fcGFubmVyTm9kZSgwKQorICAgICwgbV9kb3Bw
bGVyUmF0ZSgxLjApCiB7CiAgICAgLy8gRGVmYXVsdCB0byBzdGVyZW8uIFRoaXMgY291bGQgY2hh
bmdlIGRlcGVuZGluZyBvbiB3aGF0IHRoZSBtZWRpYSBlbGVtZW50IC5zcmMgaXMgc2V0IHRvLgog
ICAgIGFkZE91dHB1dChhZG9wdFB0cihuZXcgQXVkaW9Ob2RlT3V0cHV0KHRoaXMsIDIpKSk7CkBA
IC02NSw2ICs2NywxOSBAQCBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU6On5NZWRpYUVsZW1l
bnRBdWRpb1NvdXJjZU5vZGUoKQogICAgIHVuaW5pdGlhbGl6ZSgpOwogfQogCitib29sIE1lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZTo6dXBkYXRlRG9wcGxlclJhdGUoKQoreworICAgIGRvdWJs
ZSBkb3BwbGVyUmF0ZSA9IDEuMDsKKyAgICBpZiAobV9wYW5uZXJOb2RlLmdldCgpKQorICAgICAg
ICBkb3BwbGVyUmF0ZSA9IG1fcGFubmVyTm9kZS0+ZG9wcGxlclJhdGUoKTsKKworICAgIGlmICht
X2RvcHBsZXJSYXRlID09IGRvcHBsZXJSYXRlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBtX2RvcHBsZXJSYXRlID0gZG9wcGxlclJhdGU7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZv
aWQgTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOjpzZXRGb3JtYXQoc2l6ZV90IG51bWJlck9m
Q2hhbm5lbHMsIGZsb2F0IHNvdXJjZVNhbXBsZVJhdGUpCiB7CiAgICAgaWYgKG51bWJlck9mQ2hh
bm5lbHMgIT0gbV9zb3VyY2VOdW1iZXJPZkNoYW5uZWxzIHx8IHNvdXJjZVNhbXBsZVJhdGUgIT0g
bV9zb3VyY2VTYW1wbGVSYXRlKSB7CkBAIC04Niw2ICsxMDEsMTAgQEAgdm9pZCBNZWRpYUVsZW1l
bnRBdWRpb1NvdXJjZU5vZGU6OnNldEZvcm1hdChzaXplX3QgbnVtYmVyT2ZDaGFubmVscywgZmxv
YXQgc291cmMKIAogICAgICAgICBpZiAoc291cmNlU2FtcGxlUmF0ZSAhPSBzYW1wbGVSYXRlKCkp
IHsKICAgICAgICAgICAgIGRvdWJsZSBzY2FsZUZhY3RvciA9IHNvdXJjZVNhbXBsZVJhdGUgLyBz
YW1wbGVSYXRlKCk7CisKKyAgICAgICAgICAgIHVwZGF0ZURvcHBsZXJSYXRlKCk7CisgICAgICAg
ICAgICBzY2FsZUZhY3RvciAqPSBtX2RvcHBsZXJSYXRlOworCiAgICAgICAgICAgICBtX211bHRp
Q2hhbm5lbFJlc2FtcGxlciA9IGFkb3B0UHRyKG5ldyBNdWx0aUNoYW5uZWxSZXNhbXBsZXIoc2Nh
bGVGYWN0b3IsIG51bWJlck9mQ2hhbm5lbHMpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgIC8vIEJ5cGFzcyByZXNhbXBsaW5nLgpAQCAtMTE3LDYgKzEzNiwxNCBAQCB2b2lkIE1lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZTo6cHJvY2VzcyhzaXplX3QgbnVtYmVyT2ZGcmFtZXMpCiAg
ICAgTXV0ZXhUcnlMb2NrZXIgdHJ5TG9ja2VyKG1fcHJvY2Vzc0xvY2spOwogICAgIGlmICh0cnlM
b2NrZXIubG9ja2VkKCkpIHsKICAgICAgICAgaWYgKEF1ZGlvU291cmNlUHJvdmlkZXIqIHByb3Zp
ZGVyID0gbWVkaWFFbGVtZW50KCktPmF1ZGlvU291cmNlUHJvdmlkZXIoKSkgeworICAgICAgICAg
ICAgaWYgKHVwZGF0ZURvcHBsZXJSYXRlKCkpIHsKKyAgICAgICAgICAgICAgICBtX211bHRpQ2hh
bm5lbFJlc2FtcGxlci5jbGVhcigpOworICAgICAgICAgICAgICAgIGRvdWJsZSBzY2FsZUZhY3Rv
ciA9IG1fc291cmNlU2FtcGxlUmF0ZSAvIHNhbXBsZVJhdGUoKTsKKyAgICAgICAgICAgICAgICBz
Y2FsZUZhY3RvciAqPSBtX2RvcHBsZXJSYXRlOworICAgICAgICAgICAgICAgIGlmIChzY2FsZUZh
Y3RvciAhPSAxLjApCisgICAgICAgICAgICAgICAgICAgIG1fbXVsdGlDaGFubmVsUmVzYW1wbGVy
ID0gYWRvcHRQdHIobmV3IE11bHRpQ2hhbm5lbFJlc2FtcGxlcihzY2FsZUZhY3RvciwgbV9zb3Vy
Y2VOdW1iZXJPZkNoYW5uZWxzKSk7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGlmICht
X211bHRpQ2hhbm5lbFJlc2FtcGxlci5nZXQoKSkgewogICAgICAgICAgICAgICAgIEFTU0VSVCht
X3NvdXJjZVNhbXBsZVJhdGUgIT0gc2FtcGxlUmF0ZSgpKTsKICAgICAgICAgICAgICAgICBtX211
bHRpQ2hhbm5lbFJlc2FtcGxlci0+cHJvY2Vzcyhwcm92aWRlciwgb3V0cHV0QnVzLCBudW1iZXJP
ZkZyYW1lcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaAppbmRleCAwNmVjN2UxNmI0NDJhMTBj
MmY0OGUyNzc2Y2QyY2M0NDY3OWU1ZjE4Li5hOTRlNDgyZjYzM2Y0MGM2ZDcxZWQxYzhmZjYwYzJk
NTBkNzUxOWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgKQEAgLTI3LDYgKzI3LDcgQEAK
IAogI2lmIEVOQUJMRShWSURFTykKIAorI2luY2x1ZGUgIkF1ZGlvUGFubmVyTm9kZS5oIgogI2lu
Y2x1ZGUgIkF1ZGlvU291cmNlTm9kZS5oIgogI2luY2x1ZGUgIkF1ZGlvU291cmNlUHJvdmlkZXJD
bGllbnQuaCIKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCkBAIC01Nyw5ICs1OCwxNSBA
QCBwdWJsaWM6CiAgICAgdm9pZCBsb2NrKCk7CiAgICAgdm9pZCB1bmxvY2soKTsKIAorICAgIC8v
IElmIGEgcGFubmVyIG5vZGUgaXMgc2V0LCB0aGVuIHdlIGNhbiBpbmNvcnBvcmF0ZSBkb3BwbGVy
IHNoaWZ0IGludG8gdGhlIHBsYXliYWNrIHBpdGNoIHJhdGUuCisgICAgdm9pZCBzZXRQYW5uZXJO
b2RlKFBhc3NSZWZQdHI8QXVkaW9QYW5uZXJOb2RlPiBwYW5uZXJOb2RlKSB7IG1fcGFubmVyTm9k
ZSA9IHBhbm5lck5vZGU7IH0KKwogcHJpdmF0ZToKICAgICBNZWRpYUVsZW1lbnRBdWRpb1NvdXJj
ZU5vZGUoQXVkaW9Db250ZXh0KiwgSFRNTE1lZGlhRWxlbWVudCopOwogCisgICAgLy8gVXBkYXRl
IHRoZSBsb2NhbCBtX2RvcHBsZXJSYXRlLCBpZiBtX2RvcHBsZXJSYXRlIGlzIGNoYW5nZWQgcmV0
dXJuIHRydWUsIGVsc2UgZmFsc2UuCisgICAgYm9vbCB1cGRhdGVEb3BwbGVyUmF0ZSgpOworCiAg
ICAgUmVmUHRyPEhUTUxNZWRpYUVsZW1lbnQ+IG1fbWVkaWFFbGVtZW50OwogICAgIE11dGV4IG1f
cHJvY2Vzc0xvY2s7CiAKQEAgLTY3LDYgKzc0LDEyIEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1f
c291cmNlU2FtcGxlUmF0ZTsKIAogICAgIE93blB0cjxNdWx0aUNoYW5uZWxSZXNhbXBsZXI+IG1f
bXVsdGlDaGFubmVsUmVzYW1wbGVyOworCisgICAgLy8gV2Ugb3B0aW9uYWxseSBrZWVwIHRyYWNr
IG9mIGEgcGFubmVyIG5vZGUgd2hpY2ggaGFzIGEgZG9wcGxlciBzaGlmdCB0aGF0IGlzIGluY29y
cG9yYXRlZCBpbnRvIHRoZSBwaXRjaCByYXRlLgorICAgIFJlZlB0cjxBdWRpb1Bhbm5lck5vZGU+
IG1fcGFubmVyTm9kZTsKKworICAgIC8vIFVzZSBsb2NhbCBtX2RvcHBsZXJSYXRlIHRvIHRyYWNr
IHRoZSBjaGFuZ2Ugb2YgZG9wcGxlclJhdGUgZnJvbSBtX3Bhbm5lck5vZGUuCisgICAgZG91Ymxl
IG1fZG9wcGxlclJhdGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="141205"
          type_id="1"
          status="-"
          setter="crogers"
    />
          </attachment>
      

    </bug>

</bugzilla>