|  | 
| 1 |  | -import cloneDeep from "lodash/cloneDeep.js"; | 
| 2 | 1 | import * as uuid from "uuid"; | 
| 3 | 2 | 
 | 
| 4 | 3 | import type { RTCDataChannel } from "./dataChannel"; | 
| @@ -57,7 +56,7 @@ const log = debug("werift:packages/webrtc/src/peerConnection.ts"); | 
| 57 | 56 | export class RTCPeerConnection extends EventTarget { | 
| 58 | 57 |   readonly cname = uuid.v4(); | 
| 59 | 58 | 
 | 
| 60 |  | -  config: Required<PeerConfig> = cloneDeep<PeerConfig>(defaultPeerConfig); | 
|  | 59 | +  config: Required<PeerConfig> = generateDefaultPeerConfig(); | 
| 61 | 60 |   signalingState: RTCSignalingState = "stable"; | 
| 62 | 61 |   negotiationneeded = false; | 
| 63 | 62 |   needRestart = false; | 
| @@ -196,6 +195,9 @@ export class RTCPeerConnection extends EventTarget { | 
| 196 | 195 |   get remoteDescription() { | 
| 197 | 196 |     return this.sdpManager.remoteDescription; | 
| 198 | 197 |   } | 
|  | 198 | +  get remoteIsBundled() { | 
|  | 199 | +    return this.sdpManager.remoteIsBundled; | 
|  | 200 | +  } | 
| 199 | 201 |   /**@private */ | 
| 200 | 202 |   get _localDescription() { | 
| 201 | 203 |     return this.sdpManager._localDescription; | 
| @@ -917,32 +919,35 @@ export type RTCIceServer = { | 
| 917 | 919 |   credential?: string; | 
| 918 | 920 | }; | 
| 919 | 921 | 
 | 
| 920 |  | -export const defaultPeerConfig: PeerConfig = { | 
| 921 |  | -  codecs: { | 
| 922 |  | -    audio: [useOPUS(), usePCMU()], | 
| 923 |  | -    video: [useVP8()], | 
| 924 |  | -  }, | 
| 925 |  | -  headerExtensions: { | 
| 926 |  | -    audio: [], | 
| 927 |  | -    video: [], | 
| 928 |  | -  }, | 
| 929 |  | -  iceTransportPolicy: "all", | 
| 930 |  | -  iceServers: [{ urls: "stun:stun.l.google.com:19302" }], | 
| 931 |  | -  icePortRange: undefined, | 
| 932 |  | -  iceInterfaceAddresses: undefined, | 
| 933 |  | -  iceAdditionalHostAddresses: undefined, | 
| 934 |  | -  iceUseIpv4: true, | 
| 935 |  | -  iceUseIpv6: true, | 
| 936 |  | -  iceFilterStunResponse: undefined, | 
| 937 |  | -  iceFilterCandidatePair: undefined, | 
| 938 |  | -  icePasswordPrefix: undefined, | 
| 939 |  | -  iceUseLinkLocalAddress: undefined, | 
| 940 |  | -  dtls: {}, | 
| 941 |  | -  bundlePolicy: "max-compat", | 
| 942 |  | -  debug: {}, | 
| 943 |  | -  midSuffix: false, | 
| 944 |  | -  forceTurnTCP: false, | 
| 945 |  | -}; | 
|  | 922 | +function generateDefaultPeerConfig(): PeerConfig { | 
|  | 923 | +  return { | 
|  | 924 | +    codecs: { | 
|  | 925 | +      audio: [useOPUS(), usePCMU()], | 
|  | 926 | +      video: [useVP8()], | 
|  | 927 | +    }, | 
|  | 928 | +    headerExtensions: { | 
|  | 929 | +      audio: [], | 
|  | 930 | +      video: [], | 
|  | 931 | +    }, | 
|  | 932 | +    iceTransportPolicy: "all", | 
|  | 933 | +    iceServers: [{ urls: "stun:stun.l.google.com:19302" }], | 
|  | 934 | +    icePortRange: undefined, | 
|  | 935 | +    iceInterfaceAddresses: undefined, | 
|  | 936 | +    iceAdditionalHostAddresses: undefined, | 
|  | 937 | +    iceUseIpv4: true, | 
|  | 938 | +    iceUseIpv6: true, | 
|  | 939 | +    iceFilterStunResponse: undefined, | 
|  | 940 | +    iceFilterCandidatePair: undefined, | 
|  | 941 | +    icePasswordPrefix: undefined, | 
|  | 942 | +    iceUseLinkLocalAddress: undefined, | 
|  | 943 | +    dtls: {}, | 
|  | 944 | +    bundlePolicy: "max-compat", | 
|  | 945 | +    debug: {}, | 
|  | 946 | +    midSuffix: false, | 
|  | 947 | +    forceTurnTCP: false, | 
|  | 948 | +  }; | 
|  | 949 | +} | 
|  | 950 | +export const defaultPeerConfig: PeerConfig = generateDefaultPeerConfig(); | 
| 946 | 951 | 
 | 
| 947 | 952 | export interface RTCTrackEvent { | 
| 948 | 953 |   track: MediaStreamTrack; | 
|  | 
0 commit comments