<?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>221553</bug_id>
          
          <creation_ts>2021-02-08 07:52:20 -0800</creation_ts>
          <short_desc>Audio is sometimes distorted when using createMediaElementSource</short_desc>
          <delta_ts>2021-03-03 15:21:59 -0800</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>Safari 14</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=221334</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Luigi Pulcini">luigi</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1726644</commentid>
    <comment_count>0</comment_count>
    <who name="Luigi Pulcini">luigi</who>
    <bug_when>2021-02-08 07:52:20 -0800</bug_when>
    <thetext>Hello,

I have just confirmed this is still a problem in the new Safari Technology Preview 119, released on January 27, 2021.

This issue has emerged more than a year ago and, every time someone reports it (bug #211394, bug #215314), the report gets listed as RESOLVED FIXED very hastily and without verifying whether the fix is really effective or not. Whatever was the patch believed to have fixed this, it has not.

The problem appears to be affecting the audio more heavily with audio files sampled at 48kHz, while it seems to be less relevant when the audio file is sampled at 44.1kHz. In any case, this seems to prove there is still an issue with the audio resampling. In the previous bug report (bug #215314), we possibly detected the source of the issue being within the test case http://trac.webkit.org/changeset/267014/webkit

Particularly this:
&gt; When the context&apos;s sample rate differs from the hardware sample rate, instantiate a MultiChannelResampler and use it in render() to do the resampling.


How to reproduce the issue (even in Safari Technology Preview 119) with your MacOS/OSX computer:
– go to https://www.waveplayer.info/createmediaelementsource-test/
– play any track (you will notice the waveform animating, which proves the WebAudio API is working)
– open the &quot;Audio MIDI Setup&quot; app (under /Applications/Utilities)
– while the track is still playing, change the sample rate of the audio device
– you should hear the audio distorting more or less heavily depending on which sample rate you selected for your device

You can watch a video demonstrating the issue here:
https://www.youtube.com/watch?v=KYtb-FnjbpQ&amp;t=62
(what for it at 1:12!!!)

The first part of the same video shows that none of this is an issue in Chrome that can perfectly resample the audio, no matter what sample rate the audio device or the audio files are set to.

Thanks,
Luigi.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726663</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-08 09:10:53 -0800</bug_when>
    <thetext>The steps in the video did not reproduce an issue on my machine. I used the source at 44.1khz and used to Audio MIDI Setup tool to switch from 44.1KHz to 48Khz and all the way up to 96Khz. The audio seems alright.

http://trac.webkit.org/changeset/267014/webkit is indeed a patch where we added support for resampling in WebKit. This patch is recent. It got committed after we started getting bug reports about this issue so I doubt this is the source of the problem. Also, in the test case of the video, WebKit does not do any resampling to my knowledge because the source is 44.1 Khz is the AudioContext also uses 44.1Khz. I understand that the hardware&apos;s sample rate gets changed after that via the Audio MIDI tool. However, this does not impact the sample rate of the AudioContext AFAIK. The rate of the AudioContext is decided upon construction (it is either the sample rate being provided upon construction or the current hardware sample rate at the time of construction). Certainly some resampling must take place when we change the hardware sample rate with the Audio MIDI tool but I suspect this is happening in the Audio framework under us (I will double check).

It is also interesting that it is working in Chrome because we&apos;re using the same implementation of MultiChannelResampler as Chrome nowadays AFAIK. This seems to indicate that the bug is likely outside the MultiChannelResampler.

I will do more testing (maybe with bluetooth headphones since it seems they were used in the test video).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726678</commentid>
    <comment_count>2</comment_count>
    <who name="Luigi Pulcini">luigi</who>
    <bug_when>2021-02-08 09:40:27 -0800</bug_when>
    <thetext>Hi, Chris,

Thank you so much for checking this so promptly.

Interestingly enough, after receiving your comment, I tested that player again and now the problem seems to occur right when the player starts, whatever is the audio file and the initial sample rate. Then it is likely to disappear (but not always) when switching the sample rate of the device.

So, a new test you could do is this:

1) start the playback on any file
2) change the device sample rate
3) switch to any other file

If you repeat steps 2 and 3 repeatedly, you might notice that audio distortion starts when doing 3) and stops (most of the time) when doing 2).
At least, that is my latest result on STP 119.

By the way, the video shows a test with the built-in audio device of my MacBookPro (OSX 10.15 Catalina). No Bluetooth headphones were involved but I did try with both the internal speaker and wired headphones connected to the audio jack of my MBP.

I hope this helps.

Best,
Luigi.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726683</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-08 09:59:46 -0800</bug_when>
    <thetext>Ok. it is not 100% reproducible but I can indeed fairly frequently reproduce a recurring crackling sounds when I play the source file at 44.1Khz and my hardware rate is 48Khz. This does seem to indicate a potential issue with the WebKit resampler. I am investigating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727684</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-10 11:49:07 -0800</bug_when>
    <thetext>The issue does not reproduce in Chrome. Interestingly, I have just tried copy/pasting Chrome&apos;s MultiChannelResampler &amp; SincResampler and the issue still occurs in WebKit. The issue must be outside the resampler somehow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727721</commentid>
    <comment_count>5</comment_count>
    <who name="Luigi Pulcini">luigi</who>
    <bug_when>2021-02-10 12:46:43 -0800</bug_when>
    <thetext>Thanks for further investigating this issue.

I wish I could be more helpful but I hope the information I provided you with can help you track it down.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727734</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-10 13:21:05 -0800</bug_when>
    <thetext>Looks like the issue may be inside AudioSourceProviderAVFObjC::provideInput().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727831</commentid>
    <comment_count>7</comment_count>
      <attachid>419907</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-10 15:00:49 -0800</bug_when>
    <thetext>Created attachment 419907
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727832</commentid>
    <comment_count>8</comment_count>
      <attachid>419908</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-10 15:02:01 -0800</bug_when>
    <thetext>Created attachment 419908
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727834</commentid>
    <comment_count>9</comment_count>
      <attachid>419910</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-10 15:03:58 -0800</bug_when>
    <thetext>Created attachment 419910
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727841</commentid>
    <comment_count>10</comment_count>
      <attachid>419914</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-10 15:20:32 -0800</bug_when>
    <thetext>Created attachment 419914
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728099</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-11 08:28:17 -0800</bug_when>
    <thetext>Committed r272730: &lt;https://commits.webkit.org/r272730&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 419914.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728100</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-11 08:29:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/74235096&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419907</attachid>
            <date>2021-02-10 15:00:49 -0800</date>
            <delta_ts>2021-02-10 15:02:01 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>221553_wip.patch</filename>
            <type>text/plain</type>
            <size>1593</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbQppbmRl
eCA2ZmY2OGVhZmY0YzkuLmZiN2VlNjAxOTY2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0F1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpD
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9B
dWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbQpAQCAtMTIwLDE1ICsxMjAsMjIgQEAgdm9pZCBB
dWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQzo6cHJvdmlkZUlucHV0KEF1ZGlvQnVzKiBidXMsIHNp
emVfdCBmcmFtZXNUb1Byb2MKIAogICAgIG1fcmluZ0J1ZmZlci0+Z2V0Q3VycmVudEZyYW1lQm91
bmRzKHN0YXJ0RnJhbWUsIGVuZEZyYW1lKTsKIAotICAgIHNpemVfdCBmcmFtZXNBdmFpbGFibGUg
PSBzdGF0aWNfY2FzdDxzaXplX3Q+KGVuZEZyYW1lIC0gKG1fcmVhZENvdW50ICsgd3JpdGVBaGVh
ZENvdW50KSk7Ci0gICAgaWYgKCFmcmFtZXNBdmFpbGFibGUpIHsKLSAgICAgICAgYnVzLT56ZXJv
KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoZnJhbWVzQXZhaWxhYmxlIDwg
ZnJhbWVzVG9Qcm9jZXNzKSB7Ci0gICAgICAgIGZyYW1lc1RvUHJvY2VzcyA9IGZyYW1lc0F2YWls
YWJsZTsKLSAgICAgICAgYnVzLT56ZXJvKCk7CisgICAgaWYgKCFtX3JlYWRDb3VudCB8fCBtX3Jl
YWRDb3VudCA9PSBzZWVrVG8pIHsKKyAgICAgICAgLy8gV2UgaGF2ZSBub3Qgc3RhcnRlZCByZW5k
ZXJpbmcgeWV0LiBJZiB0aGVyZSBhcmVuJ3QgZW5vdWdoIGZyYW1lcyBpbiB0aGUgYnVmZmVyLCB0
aGVuIG91dHB1dAorICAgICAgICAvLyBzaWxlbmNlIHVudGlsIHRoZXJlIGlzLgorICAgICAgICBp
ZiAoZW5kRnJhbWUgPD0gbV9yZWFkQ291bnQgKyB3cml0ZUFoZWFkQ291bnQgKyBmcmFtZXNUb1By
b2Nlc3MpIHsKKyAgICAgICAgICAgIGJ1cy0+emVybygpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gV2UndmUgc3RhcnRlZCByZW5kZXJp
bmcuIERvbid0IG91dHB1dCBzaWxlbmNlIHVubGVzcyB3ZSByZWFsbHkgaGF2ZSB0by4KKyAgICAg
ICAgc2l6ZV90IGZyYW1lc0F2YWlsYWJsZSA9IHN0YXRpY19jYXN0PHNpemVfdD4oZW5kRnJhbWUg
LSBtX3JlYWRDb3VudCk7CisgICAgICAgIGlmICghZnJhbWVzQXZhaWxhYmxlKSB7CisgICAgICAg
ICAgICBidXMtPnplcm8oKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAg
ICBpZiAoZnJhbWVzQXZhaWxhYmxlIDwgZnJhbWVzVG9Qcm9jZXNzKQorICAgICAgICAgICAgZnJh
bWVzVG9Qcm9jZXNzID0gZnJhbWVzQXZhaWxhYmxlOwogICAgIH0KIAogICAgIEFTU0VSVChidXMt
Pm51bWJlck9mQ2hhbm5lbHMoKSA9PSBtX3JpbmdCdWZmZXItPmNoYW5uZWxDb3VudCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419908</attachid>
            <date>2021-02-10 15:02:01 -0800</date>
            <delta_ts>2021-02-10 15:03:58 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>221553_wip.patch</filename>
            <type>text/plain</type>
            <size>1632</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbQppbmRl
eCA2ZmY2OGVhZmY0YzkuLjdjYWYyZWVkZGRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0F1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpD
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9B
dWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbQpAQCAtMTIwLDE1ICsxMjAsMjQgQEAgdm9pZCBB
dWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQzo6cHJvdmlkZUlucHV0KEF1ZGlvQnVzKiBidXMsIHNp
emVfdCBmcmFtZXNUb1Byb2MKIAogICAgIG1fcmluZ0J1ZmZlci0+Z2V0Q3VycmVudEZyYW1lQm91
bmRzKHN0YXJ0RnJhbWUsIGVuZEZyYW1lKTsKIAotICAgIHNpemVfdCBmcmFtZXNBdmFpbGFibGUg
PSBzdGF0aWNfY2FzdDxzaXplX3Q+KGVuZEZyYW1lIC0gKG1fcmVhZENvdW50ICsgd3JpdGVBaGVh
ZENvdW50KSk7Ci0gICAgaWYgKCFmcmFtZXNBdmFpbGFibGUpIHsKLSAgICAgICAgYnVzLT56ZXJv
KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoZnJhbWVzQXZhaWxhYmxlIDwg
ZnJhbWVzVG9Qcm9jZXNzKSB7Ci0gICAgICAgIGZyYW1lc1RvUHJvY2VzcyA9IGZyYW1lc0F2YWls
YWJsZTsKLSAgICAgICAgYnVzLT56ZXJvKCk7CisgICAgaWYgKCFtX3JlYWRDb3VudCB8fCBtX3Jl
YWRDb3VudCA9PSBzZWVrVG8pIHsKKyAgICAgICAgLy8gV2UgaGF2ZSBub3Qgc3RhcnRlZCByZW5k
ZXJpbmcgeWV0LiBJZiB0aGVyZSBhcmVuJ3QgZW5vdWdoIGZyYW1lcyBpbiB0aGUgYnVmZmVyLCB0
aGVuIG91dHB1dAorICAgICAgICAvLyBzaWxlbmNlIHVudGlsIHRoZXJlIGlzLgorICAgICAgICBp
ZiAoZW5kRnJhbWUgPD0gbV9yZWFkQ291bnQgKyB3cml0ZUFoZWFkQ291bnQgKyBmcmFtZXNUb1By
b2Nlc3MpIHsKKyAgICAgICAgICAgIGJ1cy0+emVybygpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gV2UndmUgc3RhcnRlZCByZW5kZXJp
bmcuIERvbid0IG91dHB1dCBzaWxlbmNlIHVubGVzcyB3ZSByZWFsbHkgaGF2ZSB0by4KKyAgICAg
ICAgc2l6ZV90IGZyYW1lc0F2YWlsYWJsZSA9IHN0YXRpY19jYXN0PHNpemVfdD4oZW5kRnJhbWUg
LSBtX3JlYWRDb3VudCk7CisgICAgICAgIGlmICghZnJhbWVzQXZhaWxhYmxlKSB7CisgICAgICAg
ICAgICBidXMtPnplcm8oKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAg
ICBpZiAoZnJhbWVzQXZhaWxhYmxlIDwgZnJhbWVzVG9Qcm9jZXNzKSB7CisgICAgICAgICAgICBi
dXMtPnplcm8oKTsKKyAgICAgICAgICAgIGZyYW1lc1RvUHJvY2VzcyA9IGZyYW1lc0F2YWlsYWJs
ZTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIEFTU0VSVChidXMtPm51bWJlck9mQ2hhbm5lbHMo
KSA9PSBtX3JpbmdCdWZmZXItPmNoYW5uZWxDb3VudCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419910</attachid>
            <date>2021-02-10 15:03:58 -0800</date>
            <delta_ts>2021-02-10 15:20:30 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>221553_wip.patch</filename>
            <type>text/plain</type>
            <size>1601</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbQppbmRl
eCA2ZmY2OGVhZmY0YzkuLmVmMGI4MWViYmNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0F1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpD
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9B
dWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbQpAQCAtMTIwLDE1ICsxMjAsMjIgQEAgdm9pZCBB
dWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQzo6cHJvdmlkZUlucHV0KEF1ZGlvQnVzKiBidXMsIHNp
emVfdCBmcmFtZXNUb1Byb2MKIAogICAgIG1fcmluZ0J1ZmZlci0+Z2V0Q3VycmVudEZyYW1lQm91
bmRzKHN0YXJ0RnJhbWUsIGVuZEZyYW1lKTsKIAotICAgIHNpemVfdCBmcmFtZXNBdmFpbGFibGUg
PSBzdGF0aWNfY2FzdDxzaXplX3Q+KGVuZEZyYW1lIC0gKG1fcmVhZENvdW50ICsgd3JpdGVBaGVh
ZENvdW50KSk7Ci0gICAgaWYgKCFmcmFtZXNBdmFpbGFibGUpIHsKLSAgICAgICAgYnVzLT56ZXJv
KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoZnJhbWVzQXZhaWxhYmxlIDwg
ZnJhbWVzVG9Qcm9jZXNzKSB7Ci0gICAgICAgIGZyYW1lc1RvUHJvY2VzcyA9IGZyYW1lc0F2YWls
YWJsZTsKLSAgICAgICAgYnVzLT56ZXJvKCk7CisgICAgaWYgKCFtX3JlYWRDb3VudCB8fCBtX3Jl
YWRDb3VudCA9PSBzZWVrVG8pIHsKKyAgICAgICAgLy8gV2UgaGF2ZSBub3Qgc3RhcnRlZCByZW5k
ZXJpbmcgeWV0LiBJZiB0aGVyZSBhcmVuJ3QgZW5vdWdoIGZyYW1lcyBpbiB0aGUgYnVmZmVyLCB0
aGVuIG91dHB1dAorICAgICAgICAvLyBzaWxlbmNlIHVudGlsIHRoZXJlIGlzLgorICAgICAgICBp
ZiAoZW5kRnJhbWUgPD0gbV9yZWFkQ291bnQgKyB3cml0ZUFoZWFkQ291bnQgKyBmcmFtZXNUb1By
b2Nlc3MpIHsKKyAgICAgICAgICAgIGJ1cy0+emVybygpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gV2UndmUgc3RhcnRlZCByZW5kZXJp
bmcuIERvbid0IG91dHB1dCBzaWxlbmNlIHVubGVzcyB3ZSByZWFsbHkgaGF2ZSB0by4KKyAgICAg
ICAgc2l6ZV90IGZyYW1lc0F2YWlsYWJsZSA9IHN0YXRpY19jYXN0PHNpemVfdD4oZW5kRnJhbWUg
LSBtX3JlYWRDb3VudCk7CisgICAgICAgIGlmIChmcmFtZXNBdmFpbGFibGUgPCBmcmFtZXNUb1By
b2Nlc3MpIHsKKyAgICAgICAgICAgIGJ1cy0+emVybygpOworICAgICAgICAgICAgaWYgKCFmcmFt
ZXNBdmFpbGFibGUpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgZnJhbWVz
VG9Qcm9jZXNzID0gZnJhbWVzQXZhaWxhYmxlOworICAgICAgICB9CiAgICAgfQogCiAgICAgQVNT
RVJUKGJ1cy0+bnVtYmVyT2ZDaGFubmVscygpID09IG1fcmluZ0J1ZmZlci0+Y2hhbm5lbENvdW50
KCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419914</attachid>
            <date>2021-02-10 15:20:32 -0800</date>
            <delta_ts>2021-02-11 08:28:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221553-20210210152031.patch</filename>
            <type>text/plain</type>
            <size>3470</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmU4ODgyZjkwZGU3YmI4
NDQ0OGJlNGU3ZWI5MDE2Zjk3ZjA0YjE0MC4uM2U3NzcwMGIyNDlhYzY3OGQwNjU2YjUxYWFkYWZm
MWNjNmQxYWQwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTAyLTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXVkaW8gaXMgc29tZXRpbWVz
IGRpc3RvcnRlZCB3aGVuIHVzaW5nIGNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxNTUzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXVkaW9Tb3VyY2VQcm92aWRl
ckFWRk9iakM6OnByb3ZpZGVJbnB1dCgpIHdhcyBjYWxjdWxhdGluZyB0aGUgbnVtYmVyIG9mCisg
ICAgICAgIGZyYW1lcyBhdmFpbGFibGUgaW4gdGhlIFJpbmdCdWZmZXIgbGlrZSBzbzoKKyAgICAg
ICAgYGVuZEZyYW1lIC0gKG1fcmVhZENvdW50ICsgd3JpdGVBaGVhZENvdW50KWAKKworICAgICAg
ICBUaGUgaXNzdWUgaXMgdGhhdCB3aGVuIHdyaXRlQWhlYWRDb3VudCBpcyBncmVhdGVyIHRoYW4g
MCwgKG1fcmVhZENvdW50ICsgd3JpdGVBaGVhZENvdW50KQorICAgICAgICBjYW4gYmVjb21lIGdy
ZWF0ZXIgdGhhbiBlbmRGcmFtZSwgY2F1c2luZyB1cyB0byBlbmQgdXAgd2l0aCBhIHN1cGVyIGxh
cmdlIG51bWJlciBvZgorICAgICAgICBhdmFpbGFibGUgZnJhbWVzLiBUaGlzIGNhbiBsZWFkIHVz
IHRvIHJlbmRlciBnYXJiYWdlIGJlY2F1c2Ugd2UgbWF5IGJlIHJlYWRpbmcgbW9yZQorICAgICAg
ICBmcmFtZXMgdGhhbiBhdmFpbGFibGUgdGhlIFJpbmdCdWZmZXIuCisKKyAgICAgICAgSSBoYXZl
IGFsc28gbWFkZSBhIGNoYW5nZSBpbiB0aGUgY2FzZSB3aGVyZSByZW5kZXJpbmcgaGFzIGFscmVh
ZHkgc3RhcnRlZCB3ZXJlIHdlIGlnbm9yZQorICAgICAgICB3cml0ZUFoZWFkQ291bnQgYW5kIHJl
bmRlciB3aGF0ZXZlciB3ZSBoYXZlIGluIHRoZSBSaW5nQnVmZmVyLiBBZnRlciB3ZSd2ZSBzdGFy
dGVkIHJlbmRlcmluZywKKyAgICAgICAgZGVjaWRpbmcgbm90IHRvIHJlbmRlciBiZWNhdXNlIG9m
IHdyaXRlQWhlYWRDb3VudCwgZXZlbiB0aG91Z2ggdGhlcmUgYXJlIGF2YWlsYWJsZSBmcmFtZXMK
KyAgICAgICAgaW4gdGhlIFJpbmdCdWZmZXIsIGlzIHJlYWxseSBodXJ0ZnVsIHRvIHVzZXIgZXhw
ZXJpZW5jZS4gVGhpcyB3YXMgcmVwcm9kdWNpYmxlIG9uCisgICAgICAgIGh0dHBzOi8vd3d3Lndh
dmVwbGF5ZXIuaW5mby9jcmVhdGVtZWRpYWVsZW1lbnRzb3VyY2UtdGVzdC8gd2hlcmUgd2Ugd291
bGQgc3RhcnQgcmVuZGVyaW5nCisgICAgICAgIGZvciBhIGJpdCwgdGhlbiBvdXRwdXQgc2lsZW5j
ZSBhbmQgdGhlbiBwaWNrIHVwIHJlbmRlcmluZyBhZ2FpbiAodGhpcyB0aW1lIGZvciBnb29kKS4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9BdWRpb1NvdXJjZVBy
b3ZpZGVyQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU291cmNlUHJvdmlkZXJB
VkZPYmpDOjpwcm92aWRlSW5wdXQpOgorCiAyMDIxLTAyLTEwICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXguCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vQXVkaW9Tb3Vy
Y2VQcm92aWRlckFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMubW0KaW5kZXggNmZmNjhlYWZm
NGM5OGZkNzYxM2FiMjQ1ZTAyNWM5ZjNlODk2YzI1Ni4uZWYwYjgxZWJiY2FlZDNkYjc0OWE2NjZi
OWRiNjg1MjFlMmM4NmExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL0F1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9BdWRpb1NvdXJjZVBy
b3ZpZGVyQVZGT2JqQy5tbQpAQCAtMTIwLDE1ICsxMjAsMjIgQEAgdm9pZCBBdWRpb1NvdXJjZVBy
b3ZpZGVyQVZGT2JqQzo6cHJvdmlkZUlucHV0KEF1ZGlvQnVzKiBidXMsIHNpemVfdCBmcmFtZXNU
b1Byb2MKIAogICAgIG1fcmluZ0J1ZmZlci0+Z2V0Q3VycmVudEZyYW1lQm91bmRzKHN0YXJ0RnJh
bWUsIGVuZEZyYW1lKTsKIAotICAgIHNpemVfdCBmcmFtZXNBdmFpbGFibGUgPSBzdGF0aWNfY2Fz
dDxzaXplX3Q+KGVuZEZyYW1lIC0gKG1fcmVhZENvdW50ICsgd3JpdGVBaGVhZENvdW50KSk7Ci0g
ICAgaWYgKCFmcmFtZXNBdmFpbGFibGUpIHsKLSAgICAgICAgYnVzLT56ZXJvKCk7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoZnJhbWVzQXZhaWxhYmxlIDwgZnJhbWVzVG9Qcm9j
ZXNzKSB7Ci0gICAgICAgIGZyYW1lc1RvUHJvY2VzcyA9IGZyYW1lc0F2YWlsYWJsZTsKLSAgICAg
ICAgYnVzLT56ZXJvKCk7CisgICAgaWYgKCFtX3JlYWRDb3VudCB8fCBtX3JlYWRDb3VudCA9PSBz
ZWVrVG8pIHsKKyAgICAgICAgLy8gV2UgaGF2ZSBub3Qgc3RhcnRlZCByZW5kZXJpbmcgeWV0LiBJ
ZiB0aGVyZSBhcmVuJ3QgZW5vdWdoIGZyYW1lcyBpbiB0aGUgYnVmZmVyLCB0aGVuIG91dHB1dAor
ICAgICAgICAvLyBzaWxlbmNlIHVudGlsIHRoZXJlIGlzLgorICAgICAgICBpZiAoZW5kRnJhbWUg
PD0gbV9yZWFkQ291bnQgKyB3cml0ZUFoZWFkQ291bnQgKyBmcmFtZXNUb1Byb2Nlc3MpIHsKKyAg
ICAgICAgICAgIGJ1cy0+emVybygpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgLy8gV2UndmUgc3RhcnRlZCByZW5kZXJpbmcuIERvbid0IG91
dHB1dCBzaWxlbmNlIHVubGVzcyB3ZSByZWFsbHkgaGF2ZSB0by4KKyAgICAgICAgc2l6ZV90IGZy
YW1lc0F2YWlsYWJsZSA9IHN0YXRpY19jYXN0PHNpemVfdD4oZW5kRnJhbWUgLSBtX3JlYWRDb3Vu
dCk7CisgICAgICAgIGlmIChmcmFtZXNBdmFpbGFibGUgPCBmcmFtZXNUb1Byb2Nlc3MpIHsKKyAg
ICAgICAgICAgIGJ1cy0+emVybygpOworICAgICAgICAgICAgaWYgKCFmcmFtZXNBdmFpbGFibGUp
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgZnJhbWVzVG9Qcm9jZXNzID0g
ZnJhbWVzQXZhaWxhYmxlOworICAgICAgICB9CiAgICAgfQogCiAgICAgQVNTRVJUKGJ1cy0+bnVt
YmVyT2ZDaGFubmVscygpID09IG1fcmluZ0J1ZmZlci0+Y2hhbm5lbENvdW50KCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>