<?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>192849</bug_id>
          
          <creation_ts>2018-12-19 05:48:13 -0800</creation_ts>
          <short_desc>getUserMedia() kills the existing streamtrack and returns a black screen.</short_desc>
          <delta_ts>2018-12-20 21:26:01 -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>Safari 11</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 11</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>REMIND</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ramya D">ramyaddurairaj</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1489278</commentid>
    <comment_count>0</comment_count>
      <attachid>357668</attachid>
    <who name="Ramya D">ramyaddurairaj</who>
    <bug_when>2018-12-19 05:48:13 -0800</bug_when>
    <thetext>Created attachment 357668
Please look into it..

Verified by the reference code below:

On iOS, a second call to getUserMedia() kills the display of a video stream obtained by an earlier call to getUserMedia(). The original stream displays fine until the subsequent getUserMedia() call, then goes black.

Note that this doesn&apos;t happen on Desktop Safari, only on iOS Safari in my tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489315</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-19 08:27:19 -0800</bug_when>
    <thetext>I believe this is a known limitation for now.
This issue is tracked there: https://bugs.webkit.org/show_bug.cgi?id=179363
Let&apos;s continue the discussion there.

*** This bug has been marked as a duplicate of bug 179363 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489719</commentid>
    <comment_count>2</comment_count>
    <who name="Ramya D">ramyaddurairaj</who>
    <bug_when>2018-12-19 21:41:25 -0800</bug_when>
    <thetext>Ok, But still that issue is not assigned. Is there any solution for that @youennfablet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489724</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-19 22:00:24 -0800</bug_when>
    <thetext>(In reply to Ramya D from comment #2)
&gt; Ok, But still that issue is not assigned. Is there any solution for that
&gt; @youennfablet

It depends on your use case.
Can you give details about your usecase?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489725</commentid>
    <comment_count>4</comment_count>
    <who name="Ramya D">ramyaddurairaj</who>
    <bug_when>2018-12-19 22:06:54 -0800</bug_when>
    <thetext>I&apos;m using getUserMedia,

1) Sharing a media stream from one browser to another browser. It works
2) Again Sharing another stream on top of the existing stream but it kills the existing media stream but it works fine in all browsers but not in safari. It returns a black screen

@youennfablet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489729</commentid>
    <comment_count>5</comment_count>
    <who name="Ramya D">ramyaddurairaj</who>
    <bug_when>2018-12-19 22:20:15 -0800</bug_when>
    <thetext>All I want to do is, I want to pass multiple media stream. It works fine in all browsers but not in safari. @youennfablet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489734</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-19 22:23:47 -0800</bug_when>
    <thetext>What does it mean to pass multiple streams?
Do you want to send the same stream with different resolutions on a single peer connection? on different peer connection?

WebKit support some form of simulcast which would allow you the latter.
The former is not yet available unfortunately.

There is no support for capturing both front and back cameras at the same time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489745</commentid>
    <comment_count>7</comment_count>
    <who name="Ramya D">ramyaddurairaj</who>
    <bug_when>2018-12-19 22:35:23 -0800</bug_when>
    <thetext>I shared my video stream on one layer and again I made another connection to share my annotation/drawing like AR on top of the video stream. 

But it fails with safari. I have attached the link also You can Experiment here.

https://3b237d0a.ngrok.io/Test/Support.html?roomId=a

https://3b237d0a.ngrok.io/Test/LinkToConnect.html?roomId=a

@youennfablet

or else any idea will be appreciated to pass two streams in a safari browser or else without getUserMedia how can I take my stream to safari browser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490014</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-12-20 12:51:28 -0800</bug_when>
    <thetext>Can you use track/stream cloning?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490282</commentid>
    <comment_count>9</comment_count>
    <who name="Ramya D">ramyaddurairaj</who>
    <bug_when>2018-12-20 21:26:01 -0800</bug_when>
    <thetext>I have received the stream using call.answer(window.localStream) without getUserMedia. Now I&apos;m facing another problem of alpha transparency in canvas

Alpha transparency works in all browsers but not in safari and this how I&apos;m removing the black screen and trying to make it as transparency.This one works in all browsers but not in safari.

function draw(img) {
	var buffer = document.createElement(&apos;canvas&apos;);
  var bufferctx = buffer.getContext(&apos;2d&apos;);
  bufferctx.drawImage(img, 0, 0);
  var imageData = bufferctx.getImageData(0,0,buffer.width,  buffer.height);
  var data = imageData.data;
  var removeBlack = function() {
    for (var i = 0; i &lt; data.length; i += 4) {
      if(data[i]+ data[i + 1] + data[i + 2] &lt; 10){ 
      	data[i + 3] = 0; // alpha
       }
    }
    ctx.putImageData(imageData, 0, 0);
  };
  removeBlack();
}

Help will be greatly appreciated. @youennfablet</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>357668</attachid>
            <date>2018-12-19 05:48:13 -0800</date>
            <delta_ts>2018-12-19 05:48:13 -0800</delta_ts>
            <desc>Please look into it..</desc>
            <filename>ui-multiple-streams.html</filename>
            <type>text/html</type>
            <size>3487</size>
            <attacher name="Ramya D">ramyaddurairaj</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgi
PgogICAgPHRpdGxlPk11bHRpcGxlIHN0cmVhbXM8L3RpdGxlPgogIDwvaGVhZD4KICA8Ym9keT4K
CiAgICA8ZGl2PgogICAgICA8YnV0dG9uIGlkPSJ2aWRlbzEtc3RhcnQtc3RvcCI+VmlkZW8gMTwv
YnV0dG9uPgogICAgPC9kaXY+CiAgICA8ZGl2PgogICAgICA8dmlkZW8gaWQ9InZpZGVvMSIgYXV0
b3BsYXkgcGxheXNpbmxpbmU+PC92aWRlbz4KICAgIDwvZGl2PgogICAgPGRpdj4KICAgICAgPGJ1
dHRvbiBpZD0idmlkZW8yLXN0YXJ0LXN0b3AiPlZpZGVvIDI8L2J1dHRvbj4KICAgIDwvZGl2Pgog
ICAgPGRpdj4KICAgICAgPHZpZGVvIGlkPSJ2aWRlbzIiIGF1dG9wbGF5IHBsYXlzaW5saW5lPjwv
dmlkZW8+CiAgICA8L2Rpdj4KCiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgoK
ICAgICAgdmFyIHZpZGVvMV9zdGFydGVkID0gZmFsc2U7CiAgICAgIHZhciB2aWRlbzEgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndmlkZW8xJyk7CiAgICAgIHZhciB2aWRlbzFfYnV0dG9uID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvMS1zdGFydC1zdG9wJyk7CiAgICAgIHZhciBz
dGFydFN0b3BWaWRlbzEgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgaWYgKHZpZGVvMV9zdGFydGVk
KSB7CiAgICAgICAgICB2aWRlbzEuc3JjT2JqZWN0ICYmIHZpZGVvMS5zcmNPYmplY3QuZ2V0VHJh
Y2tzKCkuZm9yRWFjaChmdW5jdGlvbih0cmFjaykgewogICAgICAgICAgICB0cmFjay5zdG9wKCk7
CiAgICAgICAgICB9KTsKICAgICAgICAgIHZpZGVvMS5zcmNPYmplY3QgPSBudWxsOwogICAgICAg
ICAgdmlkZW8xX3N0YXJ0ZWQgPSBmYWxzZTsKICAgICAgICAgIGNvbnNvbGUubG9nKCJWaWRlbyAx
IHN0b3BwZWQiKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgY29uc3Ry
YWludHMxID0gewogICAgICAgICAgICBhdWRpbzogZmFsc2UsCiAgICAgICAgICAgIHZpZGVvOiB7
CiAgICAgICAgICAgICAgaGVpZ2h0OiB7CiAgICAgICAgICAgICAgICBtYXg6IDQ4MCwKICAgICAg
ICAgICAgICB9LAogICAgICAgICAgICAgIHdpZHRoOiB7CiAgICAgICAgICAgICAgICBtYXg6IDY0
MCwKICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgIGRldmljZUlkOiBkZXZpY2VfaWQsCiAg
ICAgICAgICAgIH0sCiAgICAgICAgICB9OwogICAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNl
cy5nZXRVc2VyTWVkaWEoY29uc3RyYWludHMxKS50aGVuKGZ1bmN0aW9uKHN0cmVhbSkgewogICAg
ICAgICAgICB2aWRlbzEuc3JjT2JqZWN0ID0gc3RyZWFtOwogICAgICAgICAgICB2aWRlbzFfc3Rh
cnRlZCA9IHRydWU7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCJWaWRlbyAxIHN0YXJ0ZWQiKTsK
ICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycikgewogICAgICAgICAgICBjb25zb2xlLmVy
cm9yKCJEZXZpY2UgYWNjZXNzIGNoZWNrcyBmYWlsZWQ6ICIsIGVyciwgY29uc3RyYWludHMxKTsK
ICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdmFyIHZpZGVvMl9zdGFydGVk
ID0gZmFsc2U7CiAgICAgIHZhciB2aWRlbzIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlk
ZW8yJyk7CiAgICAgIHZhciB2aWRlbzJfYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3ZpZGVvMi1zdGFydC1zdG9wJyk7CiAgICAgIHZhciBzdGFydFN0b3BWaWRlbzIgPSBmdW5jdGlv
bihlKSB7CiAgICAgICAgaWYgKHZpZGVvMl9zdGFydGVkKSB7CiAgICAgICAgICB2aWRlbzIuc3Jj
T2JqZWN0ICYmIHZpZGVvMi5zcmNPYmplY3QuZ2V0VHJhY2tzKCkuZm9yRWFjaChmdW5jdGlvbih0
cmFjaykgewogICAgICAgICAgICB0cmFjay5zdG9wKCk7CiAgICAgICAgICB9KTsKICAgICAgICAg
IHZpZGVvMi5zcmNPYmplY3QgPSBudWxsOwogICAgICAgICAgdmlkZW8yX3N0YXJ0ZWQgPSBmYWxz
ZTsKICAgICAgICAgIGNvbnNvbGUubG9nKCJWaWRlbyAyIHN0b3BwZWQiKTsKICAgICAgICB9CiAg
ICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgY29uc3RyYWludHMyID0gewogICAgICAgICAgICBh
dWRpbzogZmFsc2UsCiAgICAgICAgICAgIHZpZGVvOiB7CiAgICAgICAgICAgICAgaGVpZ2h0OiB7
CiAgICAgICAgICAgICAgICAvL21heDogMjQwLAogICAgICAgICAgICAgICAgbWF4OiA0ODAsCiAg
ICAgICAgICAgICAgfSwKICAgICAgICAgICAgICB3aWR0aDogewogICAgICAgICAgICAgICAgLy9t
YXg6IDMyMCwKICAgICAgICAgICAgICAgIG1heDogNjQwLAogICAgICAgICAgICAgIH0sCiAgICAg
ICAgICAgICAgZGV2aWNlSWQ6IGRldmljZV9pZCwKICAgICAgICAgICAgfSwKICAgICAgICAgIH07
CiAgICAgICAgICBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYShjb25zdHJhaW50
czIpLnRoZW4oZnVuY3Rpb24oc3RyZWFtKSB7CiAgICAgICAgICAgIHZpZGVvMi5zcmNPYmplY3Qg
PSBzdHJlYW07CiAgICAgICAgICAgIHZpZGVvMl9zdGFydGVkID0gdHJ1ZTsKICAgICAgICAgICAg
Y29uc29sZS5sb2coIlZpZGVvIDIgc3RhcnRlZCIpOwogICAgICAgICAgfSkuY2F0Y2goZnVuY3Rp
b24oZXJyKSB7CiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIkRldmljZSBhY2Nlc3MgY2hlY2tz
IGZhaWxlZDogIiwgZXJyLCBjb25zdHJhaW50czIpOwogICAgICAgICAgfSk7CiAgICAgICAgfQog
ICAgICB9CgogICAgICB2YXIgZGV2aWNlX2lkID0gbnVsbDsKICAgICAgZnVuY3Rpb24gaGFuZGxl
RXJyb3IoZXJyb3IpIHsKICAgICAgICBjb25zb2xlLmxvZygnZGV2aWNlIGVudW1lcmF0aW9uIGVy
cm9yOiAnLCBlcnJvcik7CiAgICAgIH0KICAgICAgdmFyIHNldHVwVmlkZW8gPSBmdW5jdGlvbihk
ZXZpY2VzKSB7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgIT09IGRldmljZXMubGVuZ3RoOyAr
K2kpIHsKICAgICAgICAgIHZhciBkZXZpY2UgPSBkZXZpY2VzW2ldOwogICAgICAgICAgaWYgKGRl
dmljZS5raW5kID09PSAndmlkZW9pbnB1dCcpIHsKICAgICAgICAgICAgZGV2aWNlX2lkID0gZGV2
aWNlLmRldmljZUlkOwogICAgICAgICAgICBjb25zb2xlLmxvZygiVXNpbmcgdmlkZW8gZGV2aWNl
OiAiICsgZGV2aWNlLmxhYmVsICsgIigiICsgZGV2aWNlX2lkICsgIikiKTsKICAgICAgICAgICAg
dmlkZW8xX2J1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHN0YXJ0U3RvcFZpZGVvMSk7
CiAgICAgICAgICAgIHZpZGVvMl9idXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBzdGFy
dFN0b3BWaWRlbzIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CiAg
ICAgIH0KICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCkudGhl
bihzZXR1cFZpZGVvKS5jYXRjaChoYW5kbGVFcnJvcik7CgogICAgPC9zY3JpcHQ+CiAgPC9ib2R5
Pgo8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>