<?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>235397</bug_id>
          
          <creation_ts>2022-01-20 03:03:40 -0800</creation_ts>
          <short_desc>Reconfiguring the CoreAudioSharedUnit should take into account that there is a speaker sample producer</short_desc>
          <delta_ts>2022-01-24 07:38:34 -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>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1832384</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-20 03:03:40 -0800</bug_when>
    <thetext>Reconfiguring the CoreAudioSharedUnit should take into account that there is a speaker sample producer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832385</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-20 03:06:03 -0800</bug_when>
    <thetext>&lt;rdar://problem/87819949&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832386</commentid>
    <comment_count>2</comment_count>
      <attachid>449561</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-20 03:06:19 -0800</bug_when>
    <thetext>Created attachment 449561
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832426</commentid>
    <comment_count>3</comment_count>
      <attachid>449561</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-20 08:24:35 -0800</bug_when>
    <thetext>Comment on attachment 449561
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=449561&amp;action=review

&gt; Source/WebCore/ChangeLog:11
&gt; +        When switching of microphone, we might switch of speaker as well which requires reconfiguring the audio unit.

s/of/off/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832452</commentid>
    <comment_count>4</comment_count>
      <attachid>449586</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-20 09:03:47 -0800</bug_when>
    <thetext>Created attachment 449586
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832466</commentid>
    <comment_count>5</comment_count>
      <attachid>449586</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-01-20 09:35:27 -0800</bug_when>
    <thetext>Comment on attachment 449586
Patch for landing

View in context: https://bugs.webkit.org/attachment.cgi?id=449586&amp;action=review

&gt; Source/WebCore/ChangeLog:13
&gt; +        To prevent this, we set the producer temporarily, stop the audio unit, then set back the producer.

Which function are we trying to influence by setting m_speakerSamplesProducer to null?

I wonder if it would improve encapsulation to use a separate boolean &quot;m_isReconfiguringAudioUnit&quot;, and have the target function check that boolean explicitly. When we set m_speakerSamplesProducer to null temporarily, we potentially change the behavior of every function in the class. If we used a separate boolean, we would only change the behavior of functions that explicitly adopted it.

&gt; Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp:459
&gt; +            speakerSamplesProducer = m_speakerSamplesProducer;
&gt; +            m_speakerSamplesProducer = nullptr;

This can be written as &quot;speakerSamplesProducer = std::exchange(m_speakerSamplesProducer, nullptr)&quot;.

&gt; Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp:464
&gt; +            m_speakerSamplesProducer = speakerSamplesProducer;

Might also be nice to std::exchange with nullptr here, to guarantee that code below cannot use speakerSamplesProducer erroneously.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832477</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-20 10:08:00 -0800</bug_when>
    <thetext>Committed r288302 (246220@main): &lt;https://commits.webkit.org/246220@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449586.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832681</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-20 23:01:55 -0800</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #5)
&gt; Comment on attachment 449586 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=449586&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:13
&gt; &gt; +        To prevent this, we set the producer temporarily, stop the audio unit, then set back the producer.
&gt; 
&gt; Which function are we trying to influence by setting
&gt; m_speakerSamplesProducer to null?

We are trying to influence CoreAudioSharedUnit::provideSpeakerData.


&gt; I wonder if it would improve encapsulation to use a separate boolean
&gt; &quot;m_isReconfiguringAudioUnit&quot;, and have the target function check that
&gt; boolean explicitly. When we set m_speakerSamplesProducer to null
&gt; temporarily, we potentially change the behavior of every function in the
&gt; class. If we used a separate boolean, we would only change the behavior of
&gt; functions that explicitly adopted it.

Right, this should do the trick as well.
I&apos;ll have a try.

&gt; &gt; Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp:459
&gt; &gt; +            speakerSamplesProducer = m_speakerSamplesProducer;
&gt; &gt; +            m_speakerSamplesProducer = nullptr;
&gt; 
&gt; This can be written as &quot;speakerSamplesProducer =
&gt; std::exchange(m_speakerSamplesProducer, nullptr)&quot;.
&gt; 
&gt; &gt; Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp:464
&gt; &gt; +            m_speakerSamplesProducer = speakerSamplesProducer;
&gt; 
&gt; Might also be nice to std::exchange with nullptr here, to guarantee that
&gt; code below cannot use speakerSamplesProducer erroneously.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832687</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-20 23:15:02 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832688</commentid>
    <comment_count>9</comment_count>
      <attachid>449640</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-20 23:15:06 -0800</bug_when>
    <thetext>Created attachment 449640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833303</commentid>
    <comment_count>10</comment_count>
      <attachid>449640</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-24 07:33:25 -0800</bug_when>
    <thetext>Comment on attachment 449640
Patch

bot failure unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833306</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-24 07:38:30 -0800</bug_when>
    <thetext>Committed r288439 (246328@main): &lt;https://commits.webkit.org/246328@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449640.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449561</attachid>
            <date>2022-01-20 03:06:19 -0800</date>
            <delta_ts>2022-01-20 09:03:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235397-20220120120618.patch</filename>
            <type>text/plain</type>
            <size>2464</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWRkZjU0ZDg0NjFmMDQx
NjUwOWM1Mzc2NWNiYzhkMWFhZTUyZmVmOC4uZTFkZWUzYzk2MTYzZTg3YzZlNWE3ZDc1YTEwMGNl
YTUzNmM4OTU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAxLTIwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWNvbmZpZ3VyaW5nIHRo
ZSBDb3JlQXVkaW9TaGFyZWRVbml0IHNob3VsZCB0YWtlIGludG8gYWNjb3VudCB0aGF0IHRoZXJl
IGlzIGEgc3BlYWtlciBzYW1wbGUgcHJvZHVjZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTM5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1hbnVhbGx5IHRlc3RlZC4KKworICAgICAgICAqIHBsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcDoKKyAgICAgICAg
V2hlbiBzd2l0Y2hpbmcgb2YgbWljcm9waG9uZSwgd2UgbWlnaHQgc3dpdGNoIG9mIHNwZWFrZXIg
YXMgd2VsbCB3aGljaCByZXF1aXJlcyByZWNvbmZpZ3VyaW5nIHRoZSBhdWRpbyB1bml0LgorICAg
ICAgICBJbiB0aGF0IGNhc2UsIHdlIG1pZ2h0IGhhdmUgYSBzcGVha2VyIHNhbXBsZSBwcm9kdWNl
ciBhbmQgd2Ugc2hvdWxkIG5vdCBzdG9wIHRoZSBhdWRpbyB1bml0IGlmIGdldHRpbmcgc2FtcGxl
cyBmcm9tIHRoZSBwcm9kdWNlciBhdCB0aGUgc2FtZSB0aW1lLgorICAgICAgICBUbyBwcmV2ZW50
IHRoaXMsIHdlIHNldCB0aGUgcHJvZHVjZXIgdGVtcG9yYXJpbHksIHN0b3AgdGhlIGF1ZGlvIHVu
aXQsIHRoZW4gc2V0IGJhY2sgdGhlIHByb2R1Y2VyLgorCiAyMDIyLTAxLTE5ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVE
ZXZpY2VNYW5hZ2VyIGlzIG5vdCBhbHdheXMgY29tcHV0aW5nIHRoZSByaWdodCBkZWZhdWx0IGlu
cHV0IGRldmljZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwCmluZGV4IDQ4ZWRk
ZTRiZGNhMTdkNTExNTk0MzUyMTFmNWZiMzMwMzEzZDZmNDAuLjI4NjRhNmRhYzgyYjExOTVlNjFl
M2EwN2M2YmY3NmFkMWRkODRlNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5j
cHAKQEAgLTQ0NiwxMiArNDQ2LDI0IEBAIHZvaWQgQ29yZUF1ZGlvU2hhcmVkVW5pdDo6Y2xlYW51
cEF1ZGlvVW5pdCgpCiAKIE9TU3RhdHVzIENvcmVBdWRpb1NoYXJlZFVuaXQ6OnJlY29uZmlndXJl
QXVkaW9Vbml0KCkKIHsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIE9TU3RhdHVz
IGVycjsKICAgICBpZiAoIWhhc0F1ZGlvVW5pdCgpKQogICAgICAgICByZXR1cm4gMDsKIAogICAg
IGlmIChtX2lvVW5pdFN0YXJ0ZWQpIHsKKyAgICAgICAgQ29yZUF1ZGlvU3BlYWtlclNhbXBsZXNQ
cm9kdWNlciogc3BlYWtlclNhbXBsZXNQcm9kdWNlcjsKKyAgICAgICAgeworICAgICAgICAgICAg
TG9ja2VyIGxvY2tlciB7IG1fc3BlYWtlclNhbXBsZXNQcm9kdWNlckxvY2sgfTsKKyAgICAgICAg
ICAgIHNwZWFrZXJTYW1wbGVzUHJvZHVjZXIgPSBtX3NwZWFrZXJTYW1wbGVzUHJvZHVjZXI7Cisg
ICAgICAgICAgICBtX3NwZWFrZXJTYW1wbGVzUHJvZHVjZXIgPSBudWxscHRyOworICAgICAgICB9
CiAgICAgICAgIGVyciA9IFBBTDo6QXVkaW9PdXRwdXRVbml0U3RvcChtX2lvVW5pdCk7CisgICAg
ICAgIHsKKyAgICAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3NwZWFrZXJTYW1wbGVzUHJvZHVj
ZXJMb2NrIH07CisgICAgICAgICAgICBtX3NwZWFrZXJTYW1wbGVzUHJvZHVjZXIgPSBzcGVha2Vy
U2FtcGxlc1Byb2R1Y2VyOworICAgICAgICB9CisKICAgICAgICAgaWYgKGVycikgewogICAgICAg
ICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiQ29yZUF1ZGlvU2hhcmVkVW5pdDo6cmVj
b25maWd1cmVBdWRpb1VuaXQoJXApIEF1ZGlvT3V0cHV0VW5pdFN0b3AgZmFpbGVkIHdpdGggZXJy
b3IgJWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsKICAgICAgICAgICAg
IHJldHVybiBlcnI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449586</attachid>
            <date>2022-01-20 09:03:47 -0800</date>
            <delta_ts>2022-01-20 23:14:55 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-235397-20220120180345.patch</filename>
            <type>text/plain</type>
            <size>2479</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWRkZjU0ZDg0NjFmMDQx
NjUwOWM1Mzc2NWNiYzhkMWFhZTUyZmVmOC4uY2E1OGE0YjVlOGNjNzgzZGUxZTRhNmFiMGM2MTVm
YWYxOWNkYTQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAxLTIwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWNvbmZpZ3VyaW5nIHRo
ZSBDb3JlQXVkaW9TaGFyZWRVbml0IHNob3VsZCB0YWtlIGludG8gYWNjb3VudCB0aGF0IHRoZXJl
IGlzIGEgc3BlYWtlciBzYW1wbGUgcHJvZHVjZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTM5NworCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
Q2FybHNvbi4KKworICAgICAgICBNYW51YWxseSB0ZXN0ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHA6CisgICAgICAgIFdo
ZW4gdXNpbmcgVlBJTyB0byByZW5kZXIgc3BlYWtlciBzYW1wbGVzLCB3ZSBtaWdodCBoYXZlIHRv
IHJlY29uZmlndXJlIHRoZSBWUElPIHVuaXQgdG8gdGFrZSBpbnRvIGFjY291bnQgdGhlIHNwZWFr
ZXIgZm9ybWF0LgorICAgICAgICBJbiB0aGF0IGNhc2UsIHdlIG1pZ2h0IGhhdmUgYSBzcGVha2Vy
IHNhbXBsZSBwcm9kdWNlciBhbmQgd2Ugc2hvdWxkIG5vdCBzdG9wIHRoZSBhdWRpbyB1bml0IGlm
IGdldHRpbmcgc2FtcGxlcyBmcm9tIHRoZSBwcm9kdWNlciBhdCB0aGUgc2FtZSB0aW1lLgorICAg
ICAgICBUbyBwcmV2ZW50IHRoaXMsIHdlIHNldCB0aGUgcHJvZHVjZXIgdGVtcG9yYXJpbHksIHN0
b3AgdGhlIGF1ZGlvIHVuaXQsIHRoZW4gc2V0IGJhY2sgdGhlIHByb2R1Y2VyLgorCiAyMDIyLTAx
LTE5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBVkF1ZGlv
U2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyIGlzIG5vdCBhbHdheXMgY29tcHV0aW5nIHRoZSBy
aWdodCBkZWZhdWx0IGlucHV0IGRldmljZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2Uu
Y3BwCmluZGV4IDQ4ZWRkZTRiZGNhMTdkNTExNTk0MzUyMTFmNWZiMzMwMzEzZDZmNDAuLjI4NjRh
NmRhYzgyYjExOTVlNjFlM2EwN2M2YmY3NmFkMWRkODRlNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZS5jcHAKQEAgLTQ0NiwxMiArNDQ2LDI0IEBAIHZvaWQgQ29yZUF1ZGlvU2hh
cmVkVW5pdDo6Y2xlYW51cEF1ZGlvVW5pdCgpCiAKIE9TU3RhdHVzIENvcmVBdWRpb1NoYXJlZFVu
aXQ6OnJlY29uZmlndXJlQXVkaW9Vbml0KCkKIHsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkp
OwogICAgIE9TU3RhdHVzIGVycjsKICAgICBpZiAoIWhhc0F1ZGlvVW5pdCgpKQogICAgICAgICBy
ZXR1cm4gMDsKIAogICAgIGlmIChtX2lvVW5pdFN0YXJ0ZWQpIHsKKyAgICAgICAgQ29yZUF1ZGlv
U3BlYWtlclNhbXBsZXNQcm9kdWNlciogc3BlYWtlclNhbXBsZXNQcm9kdWNlcjsKKyAgICAgICAg
eworICAgICAgICAgICAgTG9ja2VyIGxvY2tlciB7IG1fc3BlYWtlclNhbXBsZXNQcm9kdWNlckxv
Y2sgfTsKKyAgICAgICAgICAgIHNwZWFrZXJTYW1wbGVzUHJvZHVjZXIgPSBtX3NwZWFrZXJTYW1w
bGVzUHJvZHVjZXI7CisgICAgICAgICAgICBtX3NwZWFrZXJTYW1wbGVzUHJvZHVjZXIgPSBudWxs
cHRyOworICAgICAgICB9CiAgICAgICAgIGVyciA9IFBBTDo6QXVkaW9PdXRwdXRVbml0U3RvcCht
X2lvVW5pdCk7CisgICAgICAgIHsKKyAgICAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3NwZWFr
ZXJTYW1wbGVzUHJvZHVjZXJMb2NrIH07CisgICAgICAgICAgICBtX3NwZWFrZXJTYW1wbGVzUHJv
ZHVjZXIgPSBzcGVha2VyU2FtcGxlc1Byb2R1Y2VyOworICAgICAgICB9CisKICAgICAgICAgaWYg
KGVycikgewogICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiQ29yZUF1ZGlv
U2hhcmVkVW5pdDo6cmVjb25maWd1cmVBdWRpb1VuaXQoJXApIEF1ZGlvT3V0cHV0VW5pdFN0b3Ag
ZmFpbGVkIHdpdGggZXJyb3IgJWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJy
KTsKICAgICAgICAgICAgIHJldHVybiBlcnI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449640</attachid>
            <date>2022-01-20 23:15:06 -0800</date>
            <delta_ts>2022-01-24 07:38:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235397-20220121081504.patch</filename>
            <type>text/plain</type>
            <size>4234</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2E1OGE0YjVlOGNjNzgz
ZGUxZTRhNmFiMGM2MTVmYWYxOWNkYTQ2YS4uMGVjMmI4NTlmZjhjNjI1YmM4MmRjOTM3NzlmMWNl
YmJmZWFmY2Q5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAxLTIwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWNvbmZpZ3VyaW5nIHRo
ZSBDb3JlQXVkaW9TaGFyZWRVbml0IHNob3VsZCB0YWtlIGludG8gYWNjb3VudCB0aGF0IHRoZXJl
IGlzIGEgc3BlYWtlciBzYW1wbGUgcHJvZHVjZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTM5NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODc4
MTk5NDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uIGFuZCBHZW9mZiBHYXJl
bi4KKworICAgICAgICBBZGRyZXNzIHBvc3QtY29tbWl0IGNvbW1lbnRzLgorICAgICAgICBJbnRy
b2R1Y2UgYSBib29sZWFuIHRvIG1ha2UgaGlnaCBwcmlvcml0eSB0aHJlYWQgY2FsbGJhY2tzIG5v
LW9wcyB3aGVuIHJlY29uZmlndXJpbmcgdGhlIGF1ZGlvIHVuaXQuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHA6CisKIDIwMjIt
MDEtMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlY29u
ZmlndXJpbmcgdGhlIENvcmVBdWRpb1NoYXJlZFVuaXQgc2hvdWxkIHRha2UgaW50byBhY2NvdW50
IHRoYXQgdGhlcmUgaXMgYSBzcGVha2VyIHNhbXBsZSBwcm9kdWNlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3Vy
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRp
b0NhcHR1cmVTb3VyY2UuY3BwCmluZGV4IDI4NjRhNmRhYzgyYjExOTVlNjFlM2EwN2M2YmY3NmFk
MWRkODRlNTkuLjJiYzBlYTBiOWE3MTI2ZjYyYjVhZGQ0MzEyNWY4NjQ0NmM2ZTRmNjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9D
YXB0dXJlU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNs
dWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8
d3RmL05ldmVyRGVzdHJveWVkLmg+CisjaW5jbHVkZSA8d3RmL1Njb3BlLmg+CiAKICNpbmNsdWRl
IDxwYWwvY2YvQXVkaW9Ub29sYm94U29mdExpbmsuaD4KICNpbmNsdWRlIDxwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaD4KQEAgLTE0Niw2ICsxNDcsNyBAQCBwcml2YXRlOgogICAgIHVpbnQ2NF90
IG1fbWljcm9waG9uZVByb2NzQ2FsbGVkTGFzdFRpbWUgeyAwIH07CiAgICAgVGltZXIgbV92ZXJp
ZnlDYXB0dXJpbmdUaW1lcjsKIAorICAgIGJvb2wgbV9pc1JlY29uZmlndXJpbmcgeyBmYWxzZSB9
OwogICAgIExvY2sgbV9zcGVha2VyU2FtcGxlc1Byb2R1Y2VyTG9jazsKICAgICBDb3JlQXVkaW9T
cGVha2VyU2FtcGxlc1Byb2R1Y2VyKiBtX3NwZWFrZXJTYW1wbGVzUHJvZHVjZXIgV1RGX0dVQVJE
RURfQllfTE9DSyhtX3NwZWFrZXJTYW1wbGVzUHJvZHVjZXJMb2NrKSB7IG51bGxwdHIgfTsKIH07
CkBAIC0zNTQsNyArMzU2LDcgQEAgdm9pZCBDb3JlQXVkaW9TaGFyZWRVbml0OjpjaGVja1RpbWVz
dGFtcHMoY29uc3QgQXVkaW9UaW1lU3RhbXAmIHRpbWVTdGFtcCwgdWludDYKIAogT1NTdGF0dXMg
Q29yZUF1ZGlvU2hhcmVkVW5pdDo6cHJvdmlkZVNwZWFrZXJEYXRhKEF1ZGlvVW5pdFJlbmRlckFj
dGlvbkZsYWdzJiBmbGFncywgY29uc3QgQXVkaW9UaW1lU3RhbXAmIHRpbWVTdGFtcCwgVUludDMy
IC8qaW5CdXNOdW1iZXIqLywgVUludDMyIGluTnVtYmVyRnJhbWVzLCBBdWRpb0J1ZmZlckxpc3Qm
IGlvRGF0YSkKIHsKLSAgICBpZiAoIW1fc3BlYWtlclNhbXBsZXNQcm9kdWNlckxvY2sudHJ5TG9j
aygpKSB7CisgICAgaWYgKG1faXNSZWNvbmZpZ3VyaW5nIHx8ICFtX3NwZWFrZXJTYW1wbGVzUHJv
ZHVjZXJMb2NrLnRyeUxvY2soKSkgewogICAgICAgICBBdWRpb1NhbXBsZUJ1ZmZlckxpc3Q6Onpl
cm9BQkwoaW9EYXRhLCBzdGF0aWNfY2FzdDxzaXplX3Q+KGluTnVtYmVyRnJhbWVzICogbV9zcGVh
a2VyUHJvY0Zvcm1hdC5ieXRlc1BlckZyYW1lKCkpKTsKICAgICAgICAgZmxhZ3MgPSBrQXVkaW9V
bml0UmVuZGVyQWN0aW9uX091dHB1dElzU2lsZW5jZTsKICAgICAgICAgcmV0dXJuIG5vRXJyOwpA
QCAtMzc5LDYgKzM4MSwxMSBAQCBPU1N0YXR1cyBDb3JlQXVkaW9TaGFyZWRVbml0OjpzcGVha2Vy
Q2FsbGJhY2sodm9pZCAqaW5SZWZDb24sIEF1ZGlvVW5pdFJlbmRlckFjdAogCiBPU1N0YXR1cyBD
b3JlQXVkaW9TaGFyZWRVbml0Ojpwcm9jZXNzTWljcm9waG9uZVNhbXBsZXMoQXVkaW9Vbml0UmVu
ZGVyQWN0aW9uRmxhZ3MmIGlvQWN0aW9uRmxhZ3MsIGNvbnN0IEF1ZGlvVGltZVN0YW1wJiB0aW1l
U3RhbXAsIFVJbnQzMiBpbkJ1c051bWJlciwgVUludDMyIGluTnVtYmVyRnJhbWVzLCBBdWRpb0J1
ZmZlckxpc3QqIC8qaW9EYXRhKi8pCiB7CisgICAgKyttX21pY3JvcGhvbmVQcm9jc0NhbGxlZDsK
KworICAgIGlmIChtX2lzUmVjb25maWd1cmluZykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgLy8gUHVsbCB0aHJvdWdoIHRoZSB2cGlvIHVuaXQgdG8gb3VyIG1pYyBidWZmZXIuCiAgICAg
bV9taWNyb3Bob25lU2FtcGxlQnVmZmVyLT5yZXNldCgpOwogICAgIEF1ZGlvQnVmZmVyTGlzdCYg
YnVmZmVyTGlzdCA9IG1fbWljcm9waG9uZVNhbXBsZUJ1ZmZlci0+YnVmZmVyTGlzdCgpOwpAQCAt
Mzk1LDggKzQwMiw2IEBAIE9TU3RhdHVzIENvcmVBdWRpb1NoYXJlZFVuaXQ6OnByb2Nlc3NNaWNy
b3Bob25lU2FtcGxlcyhBdWRpb1VuaXRSZW5kZXJBY3Rpb25GbGFnCiAgICAgICAgIHJldHVybiBl
cnI7CiAgICAgfQogCi0gICAgKyttX21pY3JvcGhvbmVQcm9jc0NhbGxlZDsKLQogICAgIGlmICgh
aXNQcm9kdWNpbmdNaWNyb3Bob25lU2FtcGxlcygpKQogICAgICAgICByZXR1cm4gbm9FcnI7CiAK
QEAgLTQ1MSwxOSArNDU2LDExIEBAIE9TU3RhdHVzIENvcmVBdWRpb1NoYXJlZFVuaXQ6OnJlY29u
ZmlndXJlQXVkaW9Vbml0KCkKICAgICBpZiAoIWhhc0F1ZGlvVW5pdCgpKQogICAgICAgICByZXR1
cm4gMDsKIAorICAgIG1faXNSZWNvbmZpZ3VyaW5nID0gdHJ1ZTsKKyAgICBhdXRvIHNjb3BlID0g
bWFrZVNjb3BlRXhpdChbdGhpc10geyBtX2lzUmVjb25maWd1cmluZyA9IGZhbHNlOyB9KTsKKwog
ICAgIGlmIChtX2lvVW5pdFN0YXJ0ZWQpIHsKLSAgICAgICAgQ29yZUF1ZGlvU3BlYWtlclNhbXBs
ZXNQcm9kdWNlciogc3BlYWtlclNhbXBsZXNQcm9kdWNlcjsKLSAgICAgICAgewotICAgICAgICAg
ICAgTG9ja2VyIGxvY2tlciB7IG1fc3BlYWtlclNhbXBsZXNQcm9kdWNlckxvY2sgfTsKLSAgICAg
ICAgICAgIHNwZWFrZXJTYW1wbGVzUHJvZHVjZXIgPSBtX3NwZWFrZXJTYW1wbGVzUHJvZHVjZXI7
Ci0gICAgICAgICAgICBtX3NwZWFrZXJTYW1wbGVzUHJvZHVjZXIgPSBudWxscHRyOwotICAgICAg
ICB9CiAgICAgICAgIGVyciA9IFBBTDo6QXVkaW9PdXRwdXRVbml0U3RvcChtX2lvVW5pdCk7Ci0g
ICAgICAgIHsKLSAgICAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3NwZWFrZXJTYW1wbGVzUHJv
ZHVjZXJMb2NrIH07Ci0gICAgICAgICAgICBtX3NwZWFrZXJTYW1wbGVzUHJvZHVjZXIgPSBzcGVh
a2VyU2FtcGxlc1Byb2R1Y2VyOwotICAgICAgICB9Ci0KICAgICAgICAgaWYgKGVycikgewogICAg
ICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiQ29yZUF1ZGlvU2hhcmVkVW5pdDo6
cmVjb25maWd1cmVBdWRpb1VuaXQoJXApIEF1ZGlvT3V0cHV0VW5pdFN0b3AgZmFpbGVkIHdpdGgg
ZXJyb3IgJWQgKCUuNHMpIiwgdGhpcywgKGludCllcnIsIChjaGFyKikmZXJyKTsKICAgICAgICAg
ICAgIHJldHVybiBlcnI7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>