<?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>239978</bug_id>
          
          <creation_ts>2022-05-02 12:19:04 -0700</creation_ts>
          <short_desc>replaceTrack with different constraints stops sending packets</short_desc>
          <delta_ts>2022-05-06 03:27:30 -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>WebRTC</component>
          <version>Safari 15</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>makarand</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>ostap_mal</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>1865912</commentid>
    <comment_count>0</comment_count>
    <who name="">makarand</who>
    <bug_when>2022-05-02 12:19:04 -0700</bug_when>
    <thetext>One of our (twilio) customers noticed this bug. They found it on iOS 15.4, but I see that we can reproduce it on Safari 15.4 running on MacOS as well.  

Easy repro steps using 

https://codepen.io/makarand-patwardhan/pen/yLvyJgB

1. Click on Start Demo:
   This will establish webrtc between two peer connection with one party publishing an audio track

2. Notice that packets are flowing nicely between Peers.

3. Check on Music Mode and click on Update Track 
   This will cause a new audio track to get acquired using different constrains than used originally. 
   This new track is then used to replaceTrack (https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpSender/replaceTrack)

At this point notice that the packets stop flowing and after about 20 seconds you see an error &quot;A MediaStreamTrack ended due to a capture failure&quot; on console.


Notice that in Step 3 if you did not change the music Mode (that is use the same constraints as before you do not see this error)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865914</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-02 12:26:56 -0700</bug_when>
    <thetext>This might be related or similar to https://bugs.webkit.org/show_bug.cgi?id=239956, probably a fall out of using VPIO for audio rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865915</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-05-02 12:27:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/92624773&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866421</commentid>
    <comment_count>3</comment_count>
      <attachid>458788</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-04 04:15:39 -0700</bug_when>
    <thetext>Created attachment 458788
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866463</commentid>
    <comment_count>4</comment_count>
      <attachid>458788</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-05-04 08:27:31 -0700</bug_when>
    <thetext>Comment on attachment 458788
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        We should always reconfigure thr microphone processor even if we are not using it,

s/thr/the/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866493</commentid>
    <comment_count>5</comment_count>
    <who name="">makarand</who>
    <bug_when>2022-05-04 09:27:47 -0700</bug_when>
    <thetext>Hello Youenn,

Thank you for looking at this - Can you please let us know which version will have the fix ? And in the meanwhile what can our customer do to workaround this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866757</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-04 23:39:40 -0700</bug_when>
    <thetext>In the fiddle, the workaround is to not stop the audio track before getting another one (or stop it after getting the new one).

Another approach is to stop audio rendering just before starting capture. And restart audio rendering once capture started.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866762</commentid>
    <comment_count>7</comment_count>
      <attachid>458853</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-05-04 23:48:28 -0700</bug_when>
    <thetext>Created attachment 458853
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866794</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-05 02:50:07 -0700</bug_when>
    <thetext>Committed r293827 (250300@main): &lt;https://commits.webkit.org/250300@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 458853.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867153</commentid>
    <comment_count>9</comment_count>
    <who name="Ostap">ostap_mal</who>
    <bug_when>2022-05-06 03:27:30 -0700</bug_when>
    <thetext>Hello,

Which version will have the fix?

We have tried one of the latest builds in https://webkit.org/build-archives/#mac-monterey-x86_64%20arm64 MAY 6, 2022, 12:25 PM GMT+3, and we could still reproduce the issue.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458788</attachid>
            <date>2022-05-04 04:15:39 -0700</date>
            <delta_ts>2022-05-04 23:48:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239978-20220504131537.patch</filename>
            <type>text/plain</type>
            <size>2028</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI2MDlkZjdmYjliZmE5
NmQ1M2NiMGI1YzE1MjI2ZGM4ZGRmYjc2NC4uMjU3NmE4ODMzZGY3N2MxNTk1MjJkZjdhNTZkYzI3
NTU4ZjkzNDA0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIyLTA1LTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICByZXBsYWNlVHJhY2sgd2l0
aCBkaWZmZXJlbnQgY29uc3RyYWludHMgc3RvcHMgc2VuZGluZyBwYWNrZXRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk5NzgKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzkyNjI0NzczPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdlIHNob3VsZCBhbHdheXMgcmVjb25maWd1cmUgdGhyIG1pY3JvcGhv
bmUgcHJvY2Vzc29yIGV2ZW4gaWYgd2UgYXJlIG5vdCB1c2luZyBpdCwKKyAgICAgICAgYXMgVlBJ
TyBleHBlY3RzIHRoYXQgaW5wdXQgYW5kIG91dHB1dCBmb3JtYXRzIHNob3VsZCBtYXRjaC4KKwor
ICAgICAgICBNYW51YWxseSB0ZXN0ZWQgd2l0aCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM5OTc4IGFuZCBodHRwczovL2pzZmlkZGxlLm5ldC83MnFzTHc5YS8uCisg
ICAgICAgIEEgZm9sbG93LXVwIHNob3VsZCBhbGxvdyB0byBwdXQgbW9yZSBjb21tb24gY29kZSBi
ZXR3ZWVuIENvcmVBdWRpb1NoYXJlZFVuaXQgYW5kIE1vY2tBdWRpb1NoYXJlZFVuaXQKKyAgICAg
ICAgc28gdGhhdCB3ZSBjYW4gd3JpdGUgYSByZWdyZXNzaW9uIHRlc3QuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHA6CisKIDIw
MjItMDUtMDQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIENv
cmVBdWRpb0NhcHR1cmVTb3VyY2U6OnNldHRpbmdzRGlkQ2hhbmdlIHNob3VsZCBub3QgcmVjb25m
aWd1cmUgdGhlIGF1ZGlvIHVuaXQgaWYgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZSBpcyBub3Qgc3Rh
cnRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwCmluZGV4IGI3NmJiOTk3MTli
MTRlZjBhZmIyODVlZTM2MmI5N2I3YTBjMTIyZTEuLjgyYzAzYTFkNTBkYmU4M2FkZDI4ZDM4ODEx
ZWJkNGVmNDAwZWJjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHAKQEAg
LTI5OCw5ICsyOTgsNiBAQCBPU1N0YXR1cyBDb3JlQXVkaW9TaGFyZWRVbml0Ojpjb25maWd1cmVN
aWNyb3Bob25lUHJvYyhpbnQgc2FtcGxlUmF0ZSkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogCi0gICAgaWYgKCFpc1Byb2R1Y2luZ01pY3JvcGhvbmVTYW1wbGVzKCkpCi0gICAgICAg
IHJldHVybiBub0VycjsKLQogICAgIEFVUmVuZGVyQ2FsbGJhY2tTdHJ1Y3QgY2FsbGJhY2sgPSB7
IG1pY3JvcGhvbmVDYWxsYmFjaywgdGhpcyB9OwogICAgIGF1dG8gZXJyID0gUEFMOjpBdWRpb1Vu
aXRTZXRQcm9wZXJ0eShtX2lvVW5pdCwga0F1ZGlvT3V0cHV0VW5pdFByb3BlcnR5X1NldElucHV0
Q2FsbGJhY2ssIGtBdWRpb1VuaXRTY29wZV9HbG9iYWwsIGlucHV0QnVzLCAmY2FsbGJhY2ssIHNp
emVvZihjYWxsYmFjaykpOwogICAgIGlmIChlcnIpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458853</attachid>
            <date>2022-05-04 23:48:28 -0700</date>
            <delta_ts>2022-05-05 02:50:09 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-239978-20220505084826.patch</filename>
            <type>text/plain</type>
            <size>2026</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI2MDlkZjdmYjliZmE5
NmQ1M2NiMGI1YzE1MjI2ZGM4ZGRmYjc2NC4uZjA5MzhlYmUxN2RhMzRiZjI4ZjYwMjU4MDU1OGI4
MjNlNmFlOTNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIyLTA1LTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICByZXBsYWNlVHJhY2sgd2l0
aCBkaWZmZXJlbnQgY29uc3RyYWludHMgc3RvcHMgc2VuZGluZyBwYWNrZXRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk5NzgKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzkyNjI0NzczPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNv
bi4KKworICAgICAgICBXZSBzaG91bGQgYWx3YXlzIHJlY29uZmlndXJlIHRoZSBtaWNyb3Bob25l
IHByb2Nlc3NvciBldmVuIGlmIHdlIGFyZSBub3QgdXNpbmcgaXQsCisgICAgICAgIGFzIFZQSU8g
ZXhwZWN0cyB0aGF0IGlucHV0IGFuZCBvdXRwdXQgZm9ybWF0cyBzaG91bGQgbWF0Y2guCisKKyAg
ICAgICAgTWFudWFsbHkgdGVzdGVkIHdpdGggaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzOTk3OCBhbmQgaHR0cHM6Ly9qc2ZpZGRsZS5uZXQvNzJxc0x3OWEvLgorICAg
ICAgICBBIGZvbGxvdy11cCBzaG91bGQgYWxsb3cgdG8gcHV0IG1vcmUgY29tbW9uIGNvZGUgYmV0
d2VlbiBDb3JlQXVkaW9TaGFyZWRVbml0IGFuZCBNb2NrQXVkaW9TaGFyZWRVbml0CisgICAgICAg
IHNvIHRoYXQgd2UgY2FuIHdyaXRlIGEgcmVncmVzc2lvbiB0ZXN0LgorCisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwOgorCiAyMDIy
LTA1LTA0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3Jl
QXVkaW9DYXB0dXJlU291cmNlOjpzZXR0aW5nc0RpZENoYW5nZSBzaG91bGQgbm90IHJlY29uZmln
dXJlIHRoZSBhdWRpbyB1bml0IGlmIENvcmVBdWRpb0NhcHR1cmVTb3VyY2UgaXMgbm90IHN0YXJ0
ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9D
b3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmNwcAppbmRleCBiNzZiYjk5NzE5YjE0
ZWYwYWZiMjg1ZWUzNjJiOTdiN2EwYzEyMmUxLi44MmMwM2ExZDUwZGJlODNhZGQyOGQzODgxMWVi
ZDRlZjQwMGViYzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuY3BwCkBAIC0y
OTgsOSArMjk4LDYgQEAgT1NTdGF0dXMgQ29yZUF1ZGlvU2hhcmVkVW5pdDo6Y29uZmlndXJlTWlj
cm9waG9uZVByb2MoaW50IHNhbXBsZVJhdGUpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgp
KTsKIAotICAgIGlmICghaXNQcm9kdWNpbmdNaWNyb3Bob25lU2FtcGxlcygpKQotICAgICAgICBy
ZXR1cm4gbm9FcnI7Ci0KICAgICBBVVJlbmRlckNhbGxiYWNrU3RydWN0IGNhbGxiYWNrID0geyBt
aWNyb3Bob25lQ2FsbGJhY2ssIHRoaXMgfTsKICAgICBhdXRvIGVyciA9IFBBTDo6QXVkaW9Vbml0
U2V0UHJvcGVydHkobV9pb1VuaXQsIGtBdWRpb091dHB1dFVuaXRQcm9wZXJ0eV9TZXRJbnB1dENh
bGxiYWNrLCBrQXVkaW9Vbml0U2NvcGVfR2xvYmFsLCBpbnB1dEJ1cywgJmNhbGxiYWNrLCBzaXpl
b2YoY2FsbGJhY2spKTsKICAgICBpZiAoZXJyKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>