2 lines
100 KiB
JavaScript
2 lines
100 KiB
JavaScript
|
|
"use strict";(self.webpackChunkmontana_messenger=self.webpackChunkmontana_messenger||[]).push([[2394],{26941(e,n,t){t.r(n),t.d(n,{ActiveCallHeader:()=>lt,GroupCall:()=>dt,PhoneCall:()=>ht,RatePhoneCallModal:()=>yt});var i=t(12859),a=t(96454),o=t(31481),r=t(61182),s=t(9705),c=t(41733);const d=e=>{const n=e.createOscillator(),t=n.connect(e.createMediaStreamDestination());return n.start(),new MediaStream([Object.assign(t.stream.getAudioTracks()[0],{enabled:!1})])},l=({width:e=640,height:n=480}={})=>{const t=Object.assign(document.createElement("canvas"),{width:e,height:n}),i=t.getContext("2d");if(!i)throw Error("Cannot create canvas ctx");i.fillRect(0,0,e,n);const a=t.captureStream();return new MediaStream([Object.assign(a.getVideoTracks()[0],{enabled:!1})])};function u(e){return 0|e}function p(e){return e>>>0}function m(e,n=3){if(!e)return 0;const{length:t}=e;let i=0;for(let n=0;n<t;n++)i+=e[n]*e[n];const a=Math.sqrt(i/t)/255;return Math.min(1,a*n)}function g(e){return{id:e.id,name:e.name,"rtcp-fbs":e.feedbackTypes,clockrate:e.clockrate,parameters:e.parameters,channels:e.channels}}const f=.1,h="getDisplayMedia"in(navigator?.mediaDevices||{}),v=navigator?.mediaDevices?.getSupportedConstraints().echoCancellation,y=navigator?.mediaDevices?.getSupportedConstraints().noiseSuppression,C=(e,n=!1,t=!1,i=!1)=>{const a=[],o=e=>{a.push(e)},{sessionId:r,ssrcs:s,audioExtensions:c,videoExtensions:d,audioPayloadTypes:l,videoPayloadTypes:u,transport:{ufrag:m,pwd:g,fingerprints:f,candidates:h}}=e;o("v=0"),o(`o=- ${r} 2 IN IP4 0.0.0.0`),o("s=-"),o("t=0 0"),o("a=ice-options:trickle"),o("a=msid-semantic:WMS *"),o(`a=group:BUNDLE ${s.map(e=>e.mid).join(" ")}${t?"":" "+(i?"3":"2")}`),i||o("a=ice-lite");const v=e=>{if(e.sdpString)o(`a=${e.sdpString}`);else{let n="";n+="a=candidate:",n+=`${e.foundation} ${e.component} ${e.protocol} ${e.priority} ${e.ip} ${e.port} typ ${e.type}`,"rel-addr"in e&&(n+=` raddr ${e["rel-addr"]} rport ${e["rel-port"]}`),n+=` generation ${e.generation}`,o(n)}},y=()=>{o(`a=ice-ufrag:${m}`),o(`a=ice-pwd:${g}`),f.forEach(e=>{o(`a=fingerprint:${e.hash} ${e.fingerprint}`);const t=n&&"active"!==e.setup&&"passive"!==e.setup?"passive":e.setup||"passive";o(`a=setup:${t}`)}),h.forEach(v)},C=e=>{const{channels:n,id:t,name:i,clockrate:a,parameters:r}=e;if(o(`a=rtpmap:${t} ${i}/${a}${n?`/${n}`:""}`),r){const e=Object.keys(r).map(e=>`${e}=${r[e]};`).join(" ");o(`a=fmtp:${t} ${e}`)}e["rtcp-fbs"]?.forEach(e=>{o(`a=rtcp-fb:${t} ${e.type}${e.subtype?` ${e.subtype}`:""}`)})},b=e=>{const t=e.isVideo?u:l,a=e.isVideo?"video":"audio";if(o(`m=${a} ${e.isRemoved?0:1} RTP/SAVPF ${t.map(e=>e.id).join(" ")}`),o("c=IN IP4 0.0.0.0"),o("b=AS:1300"),o(`a=mid:${e.mid}`),o("a=rtcp-mux"),t.forEach(C),o("a=rtcp:1 IN IP4 0.0.0.0"),e.isVideo&&o("a=rtcp-rsize"),(e.isVideo?d:c).forEach(({id:e,uri:n})=>{o(`a=extmap:${e} ${n}`)}),e.isRemoved)o("a=inactive");else{if(y(),i)o("a=sendrecv"),o("a=bundle-only");else{if(n)return void o("a=recvonly");e.isMain?o("a=sendrecv"):(o("a=sendonly"),o("a=bundle-only"))}e.sourceGroups.forEach(n=>{n.semantics&&o(`a=ssrc-group:${n.semantics} ${n.sources.map(p).join(" ")}`),n.sources.forEach(n=>{const t=p(n);o(`a=ssrc:${t} cname:${e.endpoint}`),o(`a=ssrc:${t} msid:${e.endpoint} ${e.endpoint}`),o(`a=ssrc:${t} mslabel:${e.endpoint}`),o(`a=ssrc:${t} label:${e.endpoint}`)})})}};return i?s.forEach(b):s.filter(e=>"0"===e.mid||"1"===e.mid).forEach(b),t||(o("m=application 1 UDP/DTLS/SCTP webrtc-datachannel"),o("c=IN IP4 0.0.0.0"),y(),o("a=ice-options:trickle"),o("a=mid:"+(i?"3":t?"1":"2")),o("a=sctp-port:5000"),o("a=max-message-size:262144")),i||s.filter(e=>"0"!==e.mid&&"1"!==e.mid).forEach(b),`${a.join("\n")}\n`};function b(e){return e.split(/\r?\nm=/).map((e,n)=>0===n?e:`m=${e}`).map(e=>{const n=e.split(/\r?\n/).filter(Boolean),t=n[0]?.match(/^m=([^\s]+)/)?.[1]||"session",i=n.find(e=>e.startsWith("a=mid:"))?.slice(6);return{kind:t,lines:n,mid:i}})}function S(e){const n=e.split(/\r?\n/).find(e=>e.startsWith("a=group:BUNDLE "));return n?.slice(15).split(" ").filter(Boolean)}function w(e,n,t){if(t){const i=t.lines.find(e=>e.startsWith(n));
|
||
|
|
//# sourceMappingURL=2394.e338ae7052a0f4eb3598.js.map
|