SYMBOL INDEX (718 symbols across 87 files) FILE: src/content/capture/canvas-filter/js/main.js function loop (line 23) | function loop() { FILE: src/content/capture/canvas-pc/js/main.js function call (line 45) | function call() { function onCreateSessionDescriptionError (line 81) | function onCreateSessionDescriptionError(error) { function onCreateOfferSuccess (line 85) | function onCreateOfferSuccess(desc) { function onSetLocalSuccess (line 98) | function onSetLocalSuccess(pc) { function onSetRemoteSuccess (line 102) | function onSetRemoteSuccess(pc) { function onSetSessionDescriptionError (line 106) | function onSetSessionDescriptionError(error) { function gotRemoteStream (line 110) | function gotRemoteStream(e) { function onCreateAnswerSuccess (line 120) | function onCreateAnswerSuccess(desc) { function onIceCandidate (line 128) | function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 137) | function onAddIceCandidateSuccess(pc) { function onAddIceCandidateError (line 141) | function onAddIceCandidateError(pc, error) { function onIceStateChange (line 145) | function onIceStateChange(pc, event) { function getName (line 152) | function getName(pc) { function getOtherPc (line 156) | function getOtherPc(pc) { FILE: src/content/capture/canvas-record/js/main.js function handleSourceOpen (line 40) | function handleSourceOpen(event) { function handleDataAvailable (line 46) | function handleDataAvailable(event) { function handleStop (line 52) | function handleStop(event) { function toggleRecording (line 58) | function toggleRecording() { function startRecording (line 70) | function startRecording() { function stopRecording (line 104) | function stopRecording() { function play (line 110) | function play() { function download (line 114) | function download() { FILE: src/content/capture/video-contenthint/js/main.js function maybeCreateStream (line 24) | function maybeCreateStream() { function setVideoTrackContentHints (line 46) | function setVideoTrackContentHints(stream, hint) { function call (line 60) | function call() { function establishPC (line 77) | function establishPC(videoTag, stream) { function onSetSessionDescriptionError (line 105) | function onSetSessionDescriptionError(error) { function onCreateAnswerSuccess (line 109) | function onCreateAnswerSuccess(pc1, pc2, desc) { function onIceCandidate (line 117) | function onIceCandidate(pc, otherPc, event) { FILE: src/content/capture/video-pc/js/main.js function maybeCreateStream (line 25) | function maybeCreateStream() { function call (line 69) | function call() { function onCreateSessionDescriptionError (line 98) | function onCreateSessionDescriptionError(error) { function onCreateOfferSuccess (line 102) | function onCreateOfferSuccess(desc) { function onSetLocalSuccess (line 116) | function onSetLocalSuccess(pc) { function onSetRemoteSuccess (line 120) | function onSetRemoteSuccess(pc) { function onSetSessionDescriptionError (line 124) | function onSetSessionDescriptionError(error) { function gotRemoteStream (line 128) | function gotRemoteStream(event) { function onCreateAnswerSuccess (line 135) | function onCreateAnswerSuccess(desc) { function onIceCandidate (line 144) | function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 155) | function onAddIceCandidateSuccess(pc) { function onAddIceCandidateError (line 159) | function onAddIceCandidateError(pc, error) { function onIceStateChange (line 163) | function onIceStateChange(pc, event) { function getName (line 170) | function getName(pc) { function getOtherPc (line 174) | function getOtherPc(pc) { FILE: src/content/capture/worker-process/js/main.js function loop (line 26) | function loop() { FILE: src/content/datachannel/basic/js/main.js function enableStartButton (line 25) | function enableStartButton() { function disableSendButton (line 29) | function disableSendButton() { function createConnection (line 33) | function createConnection() { function onCreateSessionDescriptionError (line 64) | function onCreateSessionDescriptionError(error) { function sendData (line 68) | function sendData() { function closeDataChannels (line 74) | function closeDataChannels() { function gotDescription1 (line 95) | function gotDescription1(desc) { function gotDescription2 (line 105) | function gotDescription2(desc) { function getOtherPc (line 111) | function getOtherPc(pc) { function getName (line 115) | function getName(pc) { function onIceCandidate (line 119) | function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 129) | function onAddIceCandidateSuccess() { function onAddIceCandidateError (line 133) | function onAddIceCandidateError(error) { function receiveChannelCallback (line 137) | function receiveChannelCallback(event) { function onReceiveMessageCallback (line 145) | function onReceiveMessageCallback(event) { function onSendChannelStateChange (line 150) | function onSendChannelStateChange() { function onReceiveChannelStateChange (line 165) | function onReceiveChannelStateChange() { FILE: src/content/datachannel/channel/js/main.js function hangup (line 75) | async function hangup() { function createPeerConnection (line 91) | function createPeerConnection() { function handleOffer (line 107) | async function handleOffer(offer) { function handleAnswer (line 121) | async function handleAnswer(answer) { function handleCandidate (line 129) | async function handleCandidate(candidate) { function sendData (line 141) | function sendData() { function receiveChannelCallback (line 151) | function receiveChannelCallback(event) { function onReceiveChannelMessageCallback (line 159) | function onReceiveChannelMessageCallback(event) { function onSendChannelMessageCallback (line 164) | function onSendChannelMessageCallback(event) { function onSendChannelStateChange (line 169) | function onSendChannelStateChange() { function onReceiveChannelStateChange (line 184) | function onReceiveChannelStateChange() { FILE: src/content/datachannel/datatransfer/js/main.js constant MAX_CHUNK_SIZE (line 10) | const MAX_CHUNK_SIZE = 262144; function createConnection (line 55) | async function createConnection() { function sendData (line 94) | function sendData() { function startSendingData (line 132) | function startSendingData() { function maybeReset (line 145) | function maybeReset() { function handleLocalDescription (line 152) | async function handleLocalDescription(desc) { function handleRemoteAnswer (line 164) | function handleRemoteAnswer(desc) { function getOtherPc (line 170) | function getOtherPc(pc) { function onIceCandidate (line 174) | async function onIceCandidate(pc, event) { function receiveChannelCallback (line 187) | function receiveChannelCallback(event) { function onReceiveMessageCallback (line 195) | function onReceiveMessageCallback(event) { function onSendChannelOpen (line 209) | function onSendChannelOpen() { function onSendChannelClosed (line 228) | function onSendChannelClosed() { function onReceiveChannelClosed (line 242) | function onReceiveChannelClosed() { FILE: src/content/datachannel/filetransfer/js/main.js function handleFileInputChange (line 43) | async function handleFileInputChange() { function createConnection (line 52) | async function createConnection() { function sendData (line 90) | function sendData() { function closeDataChannels (line 127) | function closeDataChannels() { function gotLocalDescription (line 149) | async function gotLocalDescription(desc) { function gotRemoteDescription (line 161) | async function gotRemoteDescription(desc) { function receiveChannelCallback (line 167) | function receiveChannelCallback(event) { function onReceiveMessageCallback (line 185) | function onReceiveMessageCallback(event) { function onSendChannelStateChange (line 218) | function onSendChannelStateChange() { function onError (line 228) | function onError(error) { function onReceiveChannelStateChange (line 236) | async function onReceiveChannelStateChange() { function displayStats (line 250) | async function displayStats() { FILE: src/content/datachannel/messaging/main.js class MessagingSample (line 13) | class MessagingSample extends LitElement { method constructor (line 14) | constructor() { method disconnect (line 21) | disconnect() { method connect (line 26) | async connect() { method _onLocalMessageReceived (line 79) | _onLocalMessageReceived(event) { method _onRemoteDataChannel (line 84) | _onRemoteDataChannel(event) { method _onRemoteMessageReceived (line 95) | _onRemoteMessageReceived(event) { method properties (line 100) | static get properties() { method render (line 108) | render() { method _sendMessage (line 147) | _sendMessage(selector, channel) { FILE: src/content/devices/input-output/js/main.js function getDevices (line 24) | function getDevices() { function gotDevices (line 28) | function gotDevices(deviceInfos) { function attachSinkId (line 74) | function attachSinkId(element, sinkId) { function changeAudioDestination (line 94) | function changeAudioDestination() { function gotStream (line 99) | function gotStream(stream) { function handleError (line 112) | function handleError(error) { function start (line 116) | function start() { FILE: src/content/devices/multi/js/main.js function gotDevices (line 22) | function gotDevices(deviceInfos) { function attachSinkId (line 51) | function attachSinkId(element, sinkId, outputSelector) { function changeAudioDestination (line 71) | function changeAudioDestination(event) { function gotStream (line 79) | function gotStream(stream) { function start (line 85) | function start() { function handleError (line 100) | function handleError(error) { FILE: src/content/extensions/multipleroutes/src/options.js function saveOptions (line 27) | function saveOptions() { function restoreRadios (line 41) | function restoreRadios(policy) { function restoreOption (line 46) | function restoreOption() { function browserSupportsIPHandlingPolicy (line 70) | function browserSupportsIPHandlingPolicy() { FILE: src/content/extensions/svc/js/main.js function getName (line 97) | function getName(pc) { function getOtherPc (line 101) | function getOtherPc(pc) { function start (line 105) | async function start() { function call (line 182) | async function call() { function onCreateSessionDescriptionError (line 230) | function onCreateSessionDescriptionError(error) { function onCreateOfferSuccess (line 234) | async function onCreateOfferSuccess(desc) { function onSetLocalSuccess (line 264) | function onSetLocalSuccess(pc) { function onSetRemoteSuccess (line 268) | function onSetRemoteSuccess(pc) { function onSetSessionDescriptionError (line 272) | function onSetSessionDescriptionError(error) { function gotRemoteStream (line 276) | function gotRemoteStream(e) { function onCreateAnswerSuccess (line 296) | async function onCreateAnswerSuccess(desc) { function onIceCandidate (line 328) | async function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 338) | function onAddIceCandidateSuccess(pc) { function onAddIceCandidateError (line 342) | function onAddIceCandidateError(pc, error) { function hangup (line 346) | function hangup() { FILE: src/content/getusermedia/audio/js/main.js function handleSuccess (line 19) | function handleSuccess(stream) { function handleError (line 30) | function handleError(error) { FILE: src/content/getusermedia/canvas/js/main.js function handleSuccess (line 29) | function handleSuccess(stream) { function handleError (line 34) | function handleError(error) { FILE: src/content/getusermedia/exposure/js/main.js function handleSuccess (line 16) | function handleSuccess(stream) { function loadProperties (line 31) | function loadProperties(refreshValuesOnly) { function handleError (line 82) | function handleError(error) { function errorMsg (line 91) | function errorMsg(msg, error) { function init (line 99) | async function init(e) { FILE: src/content/getusermedia/filter/js/main.js function handleSuccess (line 34) | function handleSuccess(stream) { function handleError (line 39) | function handleError(error) { FILE: src/content/getusermedia/getdisplaymedia/js/main.js function handleSuccess (line 23) | function handleSuccess(stream) { function handleError (line 38) | function handleError(error) { function errorMsg (line 42) | function errorMsg(msg, error) { FILE: src/content/getusermedia/gum/js/main.js function handleSuccess (line 16) | function handleSuccess(stream) { function handleError (line 25) | function handleError(error) { function errorMsg (line 36) | function errorMsg(msg, error) { function init (line 44) | async function init(e) { FILE: src/content/getusermedia/pan-tilt-zoom/js/main.js function handleSuccess (line 17) | function handleSuccess(stream) { function handleError (line 54) | function handleError(error) { function errorMsg (line 63) | function errorMsg(msg, error) { function init (line 71) | async function init(e) { FILE: src/content/getusermedia/record/js/main.js function doPlay (line 36) | function doPlay(blob) { function mimeTypeToFileExtension (line 73) | function mimeTypeToFileExtension(mimeType) { function handleDataAvailable (line 86) | function handleDataAvailable(event) { function getSupportedMimeTypes (line 93) | function getSupportedMimeTypes() { function startRecording (line 119) | async function startRecording() { function stopRecording (line 158) | function stopRecording() { function handleSuccess (line 162) | function handleSuccess(stream) { function init (line 179) | async function init(constraints, isGetDisplayMedia) { function onStart (line 191) | async function onStart(isGetDisplayMedia) { FILE: src/content/getusermedia/resolution/js/main.js function gotDevices (line 119) | function gotDevices(deviceInfos) { function handleError (line 135) | function handleError(error) { function gotStream (line 141) | function gotStream(mediaStream) { function errorMessage (line 158) | function errorMessage(who, what) { function clearErrorMessage (line 165) | function clearErrorMessage() { function displayVideoDimensions (line 169) | function displayVideoDimensions(whereSeen) { function constraintChange (line 192) | function constraintChange(e) { function getMedia (line 230) | function getMedia(constraints) { FILE: src/content/getusermedia/volume/js/main.js function handleSuccess (line 34) | function handleSuccess(stream) { function handleError (line 55) | function handleError(error) { function start (line 60) | function start() { function stop (line 78) | function stop() { FILE: src/content/getusermedia/volume/js/soundmeter.js function SoundMeter (line 16) | function SoundMeter(context) { FILE: src/content/getusermedia/volume/js/volume-meter-processor.js class VolumeMeterProcessor (line 12) | class VolumeMeterProcessor extends AudioWorkletProcessor { method constructor (line 13) | constructor() { method process (line 17) | process(inputs) { FILE: src/content/insertable-streams/audio-processing/js/main.js function init (line 57) | async function init() { function start (line 71) | async function start() { function stop (line 102) | async function stop() { FILE: src/content/insertable-streams/audio-processing/js/worker.js function lowPassFilter (line 14) | function lowPassFilter() { FILE: src/content/insertable-streams/endtoend-encryption/js/main.js function gotStream (line 81) | function gotStream(stream) { function gotRemoteStream (line 88) | function gotRemoteStream(stream) { function start (line 94) | function start() { function setupSenderTransform (line 112) | function setupSenderTransform(sender) { function setupReceiverTransform (line 140) | function setupReceiverTransform(receiver) { function maybeSetCodecPreferences (line 155) | function maybeSetCodecPreferences(trackEvent) { function call (line 174) | function call() { function hangup (line 201) | function hangup() { function setCryptoKey (line 209) | function setCryptoKey(event) { function toggleMute (line 225) | function toggleMute(event) { FILE: src/content/insertable-streams/endtoend-encryption/js/videopipe.js function VideoPipe (line 24) | function VideoPipe(stream, forceSend, forceReceive, handler) { FILE: src/content/insertable-streams/endtoend-encryption/js/worker.js function dump (line 37) | function dump(encodedFrame, direction, max = 16) { function encodeFunction (line 55) | function encodeFunction(encodedFrame, controller) { function decodeFunction (line 85) | function decodeFunction(encodedFrame, controller) { function handleTransform (line 121) | function handleTransform(operation, readable, writable) { FILE: src/content/insertable-streams/video-analyzer/js/main.js function getName (line 70) | function getName(pc) { function getOtherPc (line 74) | function getOtherPc(pc) { function start (line 78) | async function start() { function call (line 95) | async function call() { function onCreateSessionDescriptionError (line 126) | function onCreateSessionDescriptionError(error) { function onCreateOfferSuccess (line 130) | async function onCreateOfferSuccess(desc) { function onSetLocalSuccess (line 157) | function onSetLocalSuccess(pc) { function onSetRemoteSuccess (line 161) | function onSetRemoteSuccess(pc) { function onSetSessionDescriptionError (line 165) | function onSetSessionDescriptionError(error) { function gotRemoteTrack (line 169) | function gotRemoteTrack(e) { function onCreateAnswerSuccess (line 179) | async function onCreateAnswerSuccess(desc) { function onIceCandidate (line 197) | async function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 207) | function onAddIceCandidateSuccess(pc) { function onAddIceCandidateError (line 211) | function onAddIceCandidateError(pc, error) { function onIceStateChange (line 215) | function onIceStateChange(pc, event) { function hangup (line 222) | function hangup() { function videoAnalyzer (line 247) | function videoAnalyzer(encodedFrame, controller) { FILE: src/content/insertable-streams/video-crop/js/worker.js function transform (line 11) | function transform(frame, controller) { FILE: src/content/insertable-streams/video-processing/js/camera-source.js class CameraSource (line 17) | class CameraSource { // eslint-disable-line no-unused-vars method constructor (line 18) | constructor() { method setDebugPath (line 30) | setDebugPath(path) { method setVisibility (line 35) | setVisibility(visible) { method getMediaStream (line 39) | async getMediaStream() { method destroy (line 51) | destroy() { FILE: src/content/insertable-streams/video-processing/js/canvas-source.js constant TEXT_SOURCE (line 11) | const TEXT_SOURCE = constant CANVAS_ASPECT_RATIO (line 13) | const CANVAS_ASPECT_RATIO = 16 / 9; function roundToEven (line 19) | function roundToEven(x) { class CanvasSource (line 27) | class CanvasSource { // eslint-disable-line no-unused-vars method constructor (line 28) | constructor() { method setDebugPath (line 72) | setDebugPath(path) { method setVisibility (line 76) | setVisibility(visible) { method updateCanvasVisibility (line 83) | updateCanvasVisibility() { method requestAnimationFrame (line 95) | requestAnimationFrame() { method animate (line 103) | animate(now) { method getMediaStream (line 174) | async getMediaStream() { method destroy (line 202) | destroy() { FILE: src/content/insertable-streams/video-processing/js/canvas-transform.js class CanvasTransform (line 15) | class CanvasTransform { // eslint-disable-line no-unused-vars method constructor (line 16) | constructor() { method init (line 31) | async init() { method transform (line 46) | async transform(frame, controller) { method destroy (line 72) | destroy() {} FILE: src/content/insertable-streams/video-processing/js/main.js function createProcessedMediaStreamTrack (line 67) | function createProcessedMediaStreamTrack(sourceTrack, transform, signal) { function initUI (line 135) | function initUI() { FILE: src/content/insertable-streams/video-processing/js/peer-connection-pipe.js class PeerConnectionPipe (line 20) | class PeerConnectionPipe { // eslint-disable-line no-unused-vars method constructor (line 25) | constructor(inputStream, debugPath) { method setDebugPath (line 48) | setDebugPath(path) { method init_ (line 56) | async init_(inputStream) { method getOutputStream (line 96) | getOutputStream() { method destroy (line 101) | destroy() { FILE: src/content/insertable-streams/video-processing/js/peer-connection-sink.js class PeerConnectionSink (line 22) | class PeerConnectionSink { // eslint-disable-line no-unused-vars method constructor (line 23) | constructor() { method setMediaStream (line 40) | async setMediaStream(stream) { method destroy (line 53) | destroy() { FILE: src/content/insertable-streams/video-processing/js/peer-connection-source.js class PeerConnectionSource (line 23) | class PeerConnectionSource { // eslint-disable-line no-unused-vars method constructor (line 28) | constructor(originalSource) { method setDebugPath (line 51) | setDebugPath(path) { method setVisibility (line 58) | setVisibility(visible) { method getMediaStream (line 63) | async getMediaStream() { method destroy (line 82) | destroy() { FILE: src/content/insertable-streams/video-processing/js/pipeline.js function createProcessedMediaStream (line 24) | function createProcessedMediaStream(sourceStream, transform, signal) { class MediaStreamSource (line 45) | class MediaStreamSource { // eslint-disable-line no-unused-vars method setDebugPath (line 50) | setDebugPath(path) {} method setVisibility (line 57) | setVisibility(visible) {} method getMediaStream (line 62) | async getMediaStream() {} method destroy (line 64) | destroy() {} class FrameTransform (line 73) | class FrameTransform { // eslint-disable-line no-unused-vars method init (line 75) | async init() {} method transform (line 82) | async transform(frame, controller) {} method destroy (line 84) | destroy() {} class MediaStreamSink (line 93) | class MediaStreamSink { // eslint-disable-line no-unused-vars method setMediaStream (line 97) | async setMediaStream(stream) {} method destroy (line 99) | destroy() {} class Pipeline (line 105) | class Pipeline { // eslint-disable-line no-unused-vars method constructor (line 106) | constructor() { method getSource (line 123) | getSource() { method updateSource (line 131) | async updateSource(mediaStreamSource) { method maybeStartPipeline_ (line 147) | async maybeStartPipeline_() { method updateTransform (line 175) | async updateTransform(frameTransform) { method updateSink (line 192) | async updateSink(mediaStreamSink) { method destroy (line 205) | destroy() { FILE: src/content/insertable-streams/video-processing/js/simple-transforms.js class NullTransform (line 15) | class NullTransform { // eslint-disable-line no-unused-vars method init (line 17) | async init() {} method transform (line 19) | async transform(frame, controller) { method destroy (line 23) | destroy() {} class DropTransform (line 30) | class DropTransform { // eslint-disable-line no-unused-vars method init (line 32) | async init() {} method transform (line 34) | async transform(frame, controller) { method destroy (line 42) | destroy() {} class DelayTransform (line 49) | class DelayTransform { // eslint-disable-line no-unused-vars method init (line 51) | async init() {} method transform (line 53) | async transform(frame, controller) { method destroy (line 58) | destroy() {} FILE: src/content/insertable-streams/video-processing/js/video-mirror-helper.js class VideoMirrorHelper (line 15) | class VideoMirrorHelper { // eslint-disable-line no-unused-vars method constructor (line 16) | constructor() { method setDebugPath (line 33) | setDebugPath(path) { method setVisibility (line 41) | setVisibility(visible) { method setStream (line 53) | setStream(stream) { method maybeAddVideoElement_ (line 59) | maybeAddVideoElement_() { method destroy (line 77) | destroy() { FILE: src/content/insertable-streams/video-processing/js/video-sink.js class VideoSink (line 15) | class VideoSink { // eslint-disable-line no-unused-vars method constructor (line 16) | constructor() { method setDebugPath (line 28) | setDebugPath(path) { method setMediaStream (line 32) | async setMediaStream(stream) { method destroy (line 47) | destroy() { FILE: src/content/insertable-streams/video-processing/js/video-source.js class VideoSource (line 15) | class VideoSource { // eslint-disable-line no-unused-vars method constructor (line 16) | constructor() { method setDebugPath (line 30) | setDebugPath(path) { method setVisibility (line 34) | setVisibility(visible) { method updateVideoVisibility (line 41) | updateVideoVisibility() { method getMediaStream (line 63) | async getMediaStream() { method destroy (line 103) | destroy() { FILE: src/content/insertable-streams/video-processing/js/webcodec-transform.js class WebCodecTransform (line 15) | class WebCodecTransform { // eslint-disable-line no-unused-vars method constructor (line 16) | constructor() { method init (line 23) | async init() { method transform (line 38) | async transform(frame, controller) { method destroy (line 52) | destroy() {} method handleEncodedFrame (line 55) | handleEncodedFrame(encodedFrame) { method handleDecodedFrame (line 59) | handleDecodedFrame(videoFrame) { method error (line 67) | error(e) { FILE: src/content/insertable-streams/video-processing/js/webgl-transform.js class WebGLTransform (line 15) | class WebGLTransform { // eslint-disable-line no-unused-vars method constructor (line 16) | constructor() { method init (line 32) | async init() { method loadShader_ (line 119) | loadShader_(type, shaderSrc) { method attributeSetFloats_ (line 143) | attributeSetFloats_(attrName, vsize, arr) { method transform (line 153) | async transform(frame, controller) { method destroy (line 182) | destroy() { FILE: src/content/insertable-streams/webgpu/js/main.js function getMediaStream (line 17) | async function getMediaStream(src) { function getUserMediaStream (line 50) | function getUserMediaStream() { function main (line 63) | async function main(sourceType) { function destroy_source (line 86) | function destroy_source() { function updateSource (line 101) | function updateSource() { FILE: src/content/insertable-streams/webgpu/js/multi_video_main.js class WebGPUTransform (line 36) | class WebGPUTransform { // eslint-disable-line no-unused-vars method constructor (line 37) | constructor() { method init (line 47) | async init(inputCanvas) { method copyOnTexture (line 159) | async copyOnTexture(device, videoTexture, frame, xcorr, ycorr) { method renderOnScreen (line 179) | async renderOnScreen(videoSource, gumSource) { method transform (line 237) | async transform(videoStream, gumStream) { method destroy (line 250) | destroy() { FILE: src/content/insertable-streams/webgpu/js/multi_video_worker_manager.js class WebGPUWorker (line 8) | class WebGPUWorker { method init (line 9) | async init() { method transform (line 39) | transform(videoStream, gumStream) { method destroy (line 50) | destroy() { FILE: src/content/peerconnection/always-negotiate-datachannels/js/main.js function log (line 27) | function log(text) { function getName (line 30) | function getName(pc) { function getOtherPc (line 34) | function getOtherPc(pc) { function start (line 38) | async function start() { function call (line 51) | async function call() { function gotRemoteStream (line 87) | function gotRemoteStream(e) { function onIceCandidate (line 91) | function onIceCandidate(pc, event) { function onAddIceCandidateError (line 97) | function onAddIceCandidateError(pc, error) { function renegotiate (line 101) | async function renegotiate() { function hangup (line 124) | function hangup() { FILE: src/content/peerconnection/audio/js/main.js function setPtime (line 78) | async function setPtime(ptime) { function gotStream (line 90) | function gotStream(stream) { function onCreateSessionDescriptionError (line 123) | function onCreateSessionDescriptionError(error) { function call (line 127) | function call() { function gotDescription1 (line 151) | function gotDescription1(desc) { function gotDescription2 (line 164) | function gotDescription2(desc) { function hangup (line 180) | function hangup() { function gotRemoteStream (line 192) | function gotRemoteStream(e) { function getOtherPc (line 215) | function getOtherPc(pc) { function getName (line 219) | function getName(pc) { function onIceCandidate (line 223) | function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 232) | function onAddIceCandidateSuccess() { function onAddIceCandidateError (line 236) | function onAddIceCandidateError(error) { function onSetSessionDescriptionError (line 240) | function onSetSessionDescriptionError(error) { function forceChosenAudioCodec (line 244) | function forceChosenAudioCodec(sdp) { function maybePreferCodec (line 252) | function maybePreferCodec(sdp, type, dir, codec) { function findLine (line 285) | function findLine(sdpLines, prefix, substr) { function findLineInRange (line 291) | function findLineInRange(sdpLines, startLine, endLine, prefix, substr) { function getCodecPayloadType (line 305) | function getCodecPayloadType(sdpLine) { function setDefaultCodec (line 312) | function setDefaultCodec(mLine, payload) { FILE: src/content/peerconnection/bandwidth/js/main.js function gotStream (line 63) | function gotStream(stream) { function onCreateSessionDescriptionError (line 90) | function onCreateSessionDescriptionError(error) { function call (line 94) | function call() { function gotDescription1 (line 119) | function gotDescription1(desc) { function gotDescription2 (line 130) | function gotDescription2(desc) { function hangup (line 149) | function hangup() { function gotRemoteStream (line 161) | function gotRemoteStream(e) { function getOtherPc (line 170) | function getOtherPc(pc) { function getName (line 174) | function getName(pc) { function onIceCandidate (line 178) | function onIceCandidate(event) { function onAddIceCandidateSuccess (line 187) | function onAddIceCandidateSuccess() { function onAddIceCandidateError (line 191) | function onAddIceCandidateError(error) { function onSetSessionDescriptionError (line 195) | function onSetSessionDescriptionError(error) { function setBandwidth (line 209) | function setBandwidth(bandwidthInKbps) { function updateBandwidthRestriction (line 249) | function updateBandwidthRestriction(sdp, bandwidth) { function removeBandwidthRestriction (line 264) | function removeBandwidthRestriction(sdp) { function triangle (line 318) | function triangle(number, maxValue) { function syntheticVideoStream (line 323) | function syntheticVideoStream({width = 640, height = 480, signal} = {}) { FILE: src/content/peerconnection/change-codecs/js/main.js function getName (line 51) | function getName(pc) { function getOtherPc (line 55) | function getOtherPc(pc) { function start (line 59) | async function start() { function call (line 86) | async function call() { function onCreateSessionDescriptionError (line 118) | function onCreateSessionDescriptionError(error) { function onCreateOfferSuccess (line 122) | async function onCreateOfferSuccess(desc) { function onSetLocalSuccess (line 149) | function onSetLocalSuccess(pc) { function onSetRemoteSuccess (line 153) | function onSetRemoteSuccess(pc) { function onSetSessionDescriptionError (line 157) | function onSetSessionDescriptionError(error) { function gotRemoteStream (line 161) | function gotRemoteStream(e) { function onCreateAnswerSuccess (line 183) | async function onCreateAnswerSuccess(desc) { function onIceCandidate (line 221) | async function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 231) | function onAddIceCandidateSuccess(pc) { function onAddIceCandidateError (line 235) | function onAddIceCandidateError(pc, error) { function hangup (line 239) | function hangup() { FILE: src/content/peerconnection/channel/js/main.js function hangup (line 72) | async function hangup() { function createPeerConnection (line 83) | function createPeerConnection() { function makeCall (line 101) | async function makeCall() { function handleOffer (line 109) | async function handleOffer(offer) { function handleAnswer (line 122) | async function handleAnswer(answer) { function handleCandidate (line 130) | async function handleCandidate(candidate) { FILE: src/content/peerconnection/constraints/js/main.js function main (line 51) | function main() { function hangup (line 55) | function hangup() { function getMedia (line 82) | function getMedia() { function gotStream (line 101) | function gotStream(stream) { function getUserMediaConstraints (line 108) | function getUserMediaConstraints() { function displayGetUserMediaConstraints (line 140) | function displayGetUserMediaConstraints() { function createPeerConnection (line 146) | function createPeerConnection() { function onAddIceCandidateSuccess (line 194) | function onAddIceCandidateSuccess() { function onAddIceCandidateError (line 198) | function onAddIceCandidateError(error) { function showRemoteStats (line 202) | function showRemoteStats(results) { function showLocalStats (line 258) | function showLocalStats(results) { function dumpStats (line 293) | function dumpStats(results) { function displayRangeValue (line 314) | function displayRangeValue(e) { FILE: src/content/peerconnection/create-offer/js/main.js function createOffer (line 24) | async function createOffer() { FILE: src/content/peerconnection/dtmf/js/main.js function main (line 41) | async function main() { function gotStream (line 52) | async function gotStream(stream) { function call (line 69) | async function call() { function gotLocalOffer (line 93) | async function gotLocalOffer(desc) { function gotRemoteAnswer (line 105) | function gotRemoteAnswer(desc) { function hangup (line 111) | function hangup() { function gotRemoteStream (line 125) | function gotRemoteStream(e) { function getOtherPc (line 151) | function getOtherPc(pc) { function getName (line 155) | function getName(pc) { function onIceCandidate (line 159) | async function onIceCandidate(pc, event) { function dtmfOnToneChange (line 168) | function dtmfOnToneChange(tone) { function sendTones (line 175) | function sendTones(tones) { function handleSendTonesClick (line 186) | function handleSendTonesClick() { function addDialPadHandlers (line 190) | function addDialPadHandlers() { FILE: src/content/peerconnection/multiple-relay/js/main.js function gotStream (line 35) | function gotStream(stream) { function gotremoteStream (line 42) | function gotremoteStream(stream) { function start (line 51) | function start() { function call (line 64) | function call() { function insertRelay (line 72) | function insertRelay() { function hangup (line 77) | function hangup() { FILE: src/content/peerconnection/multiple/js/main.js function maybeSetCodecPreferences (line 35) | function maybeSetCodecPreferences(trackEvent) { function start (line 47) | async function start() { function call (line 58) | async function call() { function negotiate (line 90) | async function negotiate(localPc, remotePc) { function hangup (line 100) | function hangup() { function gotRemoteStream (line 112) | function gotRemoteStream(e, videoObject) { FILE: src/content/peerconnection/munge-sdp/js/main.js function getMedia (line 47) | async function getMedia() { function gotStream (line 63) | function gotStream(stream) { function createPeerConnection (line 70) | function createPeerConnection() { function onSetSessionDescriptionSuccess (line 104) | function onSetSessionDescriptionSuccess() { function onSetSessionDescriptionError (line 108) | function onSetSessionDescriptionError(error) { function createOffer (line 113) | async function createOffer() { function onCreateSessionDescriptionError (line 122) | function onCreateSessionDescriptionError(error) { function setOffer (line 126) | async function setOffer() { function gotDescription1 (line 159) | function gotDescription1(description) { function createAnswer (line 166) | async function createAnswer() { function setAnswer (line 178) | async function setAnswer() { function gotDescription2 (line 215) | function gotDescription2(description) { function sendData (line 222) | function sendData() { function hangup (line 230) | function hangup() { function gotRemoteStream (line 253) | function gotRemoteStream(e) { function getOtherPc (line 260) | function getOtherPc(pc) { function getName (line 264) | function getName(pc) { function onIceCandidate (line 268) | async function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 280) | function onAddIceCandidateSuccess() { function onAddIceCandidateError (line 284) | function onAddIceCandidateError(error) { function receiveChannelCallback (line 288) | function receiveChannelCallback(event) { function onReceiveMessageCallback (line 296) | function onReceiveMessageCallback(event) { function onSendChannelStateChange (line 301) | function onSendChannelStateChange() { function onReceiveChannelStateChange (line 311) | function onReceiveChannelStateChange() { FILE: src/content/peerconnection/negotiate-timing/js/main.js function logToScreen (line 67) | function logToScreen(text) { function getName (line 72) | function getName(pc) { function getOtherPc (line 76) | function getOtherPc(pc) { function start (line 80) | async function start() { function runOfferAnswer (line 94) | async function runOfferAnswer() { function call (line 119) | async function call() { function gotRemoteStream (line 158) | function gotRemoteStream(e) { function onIceCandidate (line 167) | async function onIceCandidate(pc, event) { function onIceStateChange (line 177) | function onIceStateChange(pc, event) { function adjustTransceiverCounts (line 184) | function adjustTransceiverCounts(pc, videoCount) { function getAudioImpairment (line 202) | async function getAudioImpairment(audioTransceiver) { function baselineAudioImpairment (line 214) | async function baselineAudioImpairment(pc) { function measureAudioImpairment (line 220) | async function measureAudioImpairment(pc) { function renegotiate (line 228) | async function renegotiate() { function hangup (line 242) | function hangup() { FILE: src/content/peerconnection/pc1/js/main.js function getName (line 51) | function getName(pc) { function getOtherPc (line 55) | function getOtherPc(pc) { function start (line 59) | async function start() { function call (line 73) | async function call() { function onCreateSessionDescriptionError (line 110) | function onCreateSessionDescriptionError(error) { function onCreateOfferSuccess (line 114) | async function onCreateOfferSuccess(desc) { function onSetLocalSuccess (line 144) | function onSetLocalSuccess(pc) { function onSetRemoteSuccess (line 148) | function onSetRemoteSuccess(pc) { function onSetSessionDescriptionError (line 152) | function onSetSessionDescriptionError(error) { function gotRemoteStream (line 156) | function gotRemoteStream(e) { function onCreateAnswerSuccess (line 163) | async function onCreateAnswerSuccess(desc) { function onIceCandidate (line 181) | async function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 191) | function onAddIceCandidateSuccess(pc) { function onAddIceCandidateError (line 195) | function onAddIceCandidateError(pc, error) { function onIceStateChange (line 199) | function onIceStateChange(pc, event) { function hangup (line 206) | function hangup() { FILE: src/content/peerconnection/per-frame-callback/js/main.js function gotStream (line 98) | function gotStream(stream) { function onCreateSessionDescriptionError (line 129) | function onCreateSessionDescriptionError(error) { function call (line 133) | function call() { function gotDescription1 (line 151) | function gotDescription1(desc) { function gotDescription2 (line 162) | function gotDescription2(desc) { function hangup (line 172) | function hangup() { function gotRemoteStream (line 184) | function gotRemoteStream(e) { function getOtherPc (line 191) | function getOtherPc(pc) { function getName (line 195) | function getName(pc) { function onIceCandidate (line 199) | function onIceCandidate(event) { function onAddIceCandidateSuccess (line 208) | function onAddIceCandidateSuccess() { function onAddIceCandidateError (line 212) | function onAddIceCandidateError(error) { function onSetSessionDescriptionError (line 216) | function onSetSessionDescriptionError(error) { FILE: src/content/peerconnection/perfect-negotiation/js/main.js function run (line 21) | async function run(target, cmd) { function startLocalVideo (line 39) | function startLocalVideo(r1, g1, b1, r2, g2, b2) { function setupIframe (line 76) | async function setupIframe(el, polite, r1, g1, b1, r2, g2, b2) { function swapOnBoth (line 98) | async function swapOnBoth(politeFirst) { // eslint-disable-line no-unuse... function setupIframes (line 108) | async function setupIframes() { FILE: src/content/peerconnection/perfect-negotiation/js/peer.js function peer (line 18) | function peer(other, polite, fail = undefined) { // eslint-disable-line ... FILE: src/content/peerconnection/pr-answer/js/main.js function gotStream (line 35) | function gotStream(stream) { function start (line 50) | function start() { function onCreateSessionDescriptionError (line 79) | function onCreateSessionDescriptionError(error) { function onCreateAnswerError (line 84) | function onCreateAnswerError(error) { function onSetLocalDescriptionError (line 89) | function onSetLocalDescriptionError(error) { function onSetLocalDescriptionSuccess (line 94) | function onSetLocalDescriptionSuccess() { function gotDescription1 (line 98) | function gotDescription1(desc) { function gotDescription2 (line 111) | function gotDescription2(desc) { function gotDescription3 (line 120) | function gotDescription3(desc) { function accept (line 129) | function accept() { function stop (line 135) | function stop() { function gotRemoteStream (line 146) | function gotRemoteStream(e) { function getOtherPc (line 151) | function getOtherPc(pc) { function getName (line 155) | function getName(pc) { function onIceCandidate (line 159) | function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 166) | function onAddIceCandidateSuccess() { function onAddIceCandidateError (line 170) | function onAddIceCandidateError(error) { FILE: src/content/peerconnection/restart-ice/js/main.js function getName (line 61) | function getName(pc) { function getOtherPc (line 65) | function getOtherPc(pc) { function gotStream (line 69) | function gotStream(stream) { function start (line 76) | function start() { function restart (line 89) | function restart() { function call (line 96) | function call() { function onCreateSessionDescriptionError (line 133) | function onCreateSessionDescriptionError(error) { function onCreateOfferSuccess (line 137) | function onCreateOfferSuccess(desc) { function onSetLocalSuccess (line 150) | function onSetLocalSuccess(pc) { function onSetRemoteSuccess (line 154) | function onSetRemoteSuccess(pc) { function onSetSessionDescriptionError (line 158) | function onSetSessionDescriptionError(error) { function gotRemoteStream (line 162) | function gotRemoteStream(e) { function onCreateAnswerSuccess (line 169) | function onCreateAnswerSuccess(desc) { function onIceCandidate (line 189) | function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 196) | function onAddIceCandidateSuccess(pc) { function onAddIceCandidateError (line 200) | function onAddIceCandidateError(pc, error) { function onIceStateChange (line 204) | function onIceStateChange(pc, event) { function checkStats (line 217) | function checkStats(pc) { function hangup (line 252) | function hangup() { FILE: src/content/peerconnection/states/js/main.js function gotStream (line 40) | function gotStream(stream) { function start (line 47) | function start() { function call (line 59) | function call() { function onCreateSessionDescriptionError (line 101) | function onCreateSessionDescriptionError(error) { function gotDescription1 (line 105) | function gotDescription1(description) { function gotDescription2 (line 112) | function gotDescription2(description) { function hangup (line 118) | function hangup() { function gotRemoteStream (line 134) | function gotRemoteStream(e) { function stateCallback1 (line 141) | function stateCallback1() { function stateCallback2 (line 150) | function stateCallback2() { function iceStateCallback1 (line 159) | function iceStateCallback1() { function iceStateCallback2 (line 168) | function iceStateCallback2() { function connStateCallback1 (line 177) | function connStateCallback1() { function connStateCallback2 (line 185) | function connStateCallback2() { function getOtherPc (line 192) | function getOtherPc(pc) { function getName (line 196) | function getName(pc) { function onIceCandidate (line 200) | function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 207) | function onAddIceCandidateSuccess() { function onAddIceCandidateError (line 211) | function onAddIceCandidateError(error) { FILE: src/content/peerconnection/trickle-ice/js/main.js function setDefaultServer (line 39) | function setDefaultServer(serversSelect) { function writeServersToLocalStorage (line 47) | function writeServersToLocalStorage() { function readServersFromLocalStorage (line 53) | function readServersFromLocalStorage() { function selectServer (line 71) | function selectServer(event) { function addServer (line 79) | function addServer() { function removeServer (line 105) | function removeServer() { function start (line 114) | async function start() { function formatPriority (line 176) | function formatPriority(priority) { function appendCell (line 184) | function appendCell(row, val) { function getFinalResult (line 192) | function getFinalResult() { function iceCallback (line 228) | async function iceCallback(event) { function gatheringStateChange (line 263) | function gatheringStateChange() { function iceCandidateError (line 282) | function iceCandidateError(e) { FILE: src/content/peerconnection/upgrade/js/main.js function getName (line 55) | function getName(pc) { function getOtherPc (line 59) | function getOtherPc(pc) { function gotStream (line 63) | function gotStream(stream) { function start (line 70) | function start() { function call (line 82) | function call() { function onCreateSessionDescriptionError (line 110) | function onCreateSessionDescriptionError(error) { function onCreateOfferSuccess (line 114) | function onCreateOfferSuccess(desc) { function onSetLocalSuccess (line 127) | function onSetLocalSuccess(pc) { function onSetRemoteSuccess (line 131) | function onSetRemoteSuccess(pc) { function onSetSessionDescriptionError (line 135) | function onSetSessionDescriptionError(error) { function gotRemoteStream (line 139) | function gotRemoteStream(e) { function onCreateAnswerSuccess (line 147) | function onCreateAnswerSuccess(desc) { function onIceCandidate (line 156) | function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 163) | function onAddIceCandidateSuccess(pc) { function onAddIceCandidateError (line 167) | function onAddIceCandidateError(pc, error) { function onIceStateChange (line 171) | function onIceStateChange(pc, event) { function upgrade (line 178) | function upgrade() { function hangup (line 200) | function hangup() { FILE: src/content/peerconnection/webaudio-input/js/main.js function start (line 32) | function start() { function stop (line 46) | function stop() { function handleSuccess (line 58) | function handleSuccess(stream) { function handleFailure (line 88) | function handleFailure(error) { function gotDescription1 (line 94) | function gotDescription1(desc) { function gotDescription2 (line 104) | function gotDescription2(desc) { function gotRemoteStream (line 110) | function gotRemoteStream(e) { function getOtherPc (line 116) | function getOtherPc(pc) { function getName (line 120) | function getName(pc) { function onIceCandidate (line 124) | function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 131) | function onAddIceCandidateSuccess() { function onAddIceCandidateError (line 135) | function onAddIceCandidateError(error) { function handleKeyDown (line 139) | function handleKeyDown() { function toggleRenderLocally (line 143) | function toggleRenderLocally() { function logError (line 148) | function logError(error) { FILE: src/content/peerconnection/webaudio-input/js/webaudioextended.js function WebAudioExtended (line 13) | function WebAudioExtended() { FILE: src/content/peerconnection/webaudio-output/js/main.js function getName (line 55) | function getName(pc) { function getOtherPc (line 59) | function getOtherPc(pc) { function gotStream (line 63) | function gotStream(stream) { function start (line 70) | function start() { function call (line 82) | function call() { function onCreateSessionDescriptionError (line 113) | function onCreateSessionDescriptionError(error) { function onCreateOfferSuccess (line 117) | function onCreateOfferSuccess(desc) { function onSetLocalSuccess (line 130) | function onSetLocalSuccess(pc) { function onSetRemoteSuccess (line 134) | function onSetRemoteSuccess(pc) { function onSetSessionDescriptionError (line 138) | function onSetSessionDescriptionError(error) { function gotRemoteStream (line 142) | function gotRemoteStream(e) { function onCreateAnswerSuccess (line 152) | function onCreateAnswerSuccess(desc) { function onIceCandidate (line 160) | function onIceCandidate(pc, event) { function onAddIceCandidateSuccess (line 167) | function onAddIceCandidateSuccess(pc) { function onAddIceCandidateError (line 171) | function onAddIceCandidateError(pc, error) { function onIceStateChange (line 175) | function onIceStateChange(pc, event) { function hangup (line 182) | function hangup() { FILE: src/js/third_party/graph.js constant MAX_STATS_DATA_POINT_BUFFER_SIZE (line 15) | const MAX_STATS_DATA_POINT_BUFFER_SIZE = 1000; function TimelineDataSeries (line 21) | function TimelineDataSeries() { function DataPoint (line 134) | function DataPoint(time, value) { function TimelineGraphView (line 168) | function TimelineGraphView(divId, canvasId) { function Graph (line 414) | function Graph() { FILE: src/js/third_party/streamvisualizer.js constant WIDTH (line 21) | const WIDTH = 308; constant HEIGHT (line 22) | const HEIGHT = 231; constant SMOOTHING (line 25) | const SMOOTHING = 0.8; constant FFT_SIZE (line 26) | const FFT_SIZE = 2048; function StreamVisualizer (line 28) | function StreamVisualizer(remoteStream, canvas) { FILE: src/js/third_party/webgl_teapot/cameracontroller.js function CameraController (line 45) | function CameraController(element, opt_canvas, opt_context) { FILE: src/js/third_party/webgl_teapot/demo.js function main (line 63) | function main() { function log (line 92) | function log(msg) { function handleContextLost (line 98) | function handleContextLost(e) { function handleContextRestored (line 104) | function handleContextRestored() { function output (line 110) | function output(str) { function checkGLError (line 115) | function checkGLError() { function init (line 124) | function init() { function initTeapot (line 136) | function initTeapot() { function loadShader (line 218) | function loadShader(type, shaderSrc) { function initShaders (line 235) | function initShaders() { function draw (line 269) | function draw() { function clearLoadingImages (line 342) | function clearLoadingImages() { function loadTexture (line 349) | function loadTexture(src) { function loadCubeMap (line 373) | function loadCubeMap(base, suffix) { FILE: src/js/third_party/webgl_teapot/matrix4x4.js function Matrix4x4 (line 45) | function Matrix4x4() { FILE: src/js/third_party/webgl_teapot/webgl-debug.js function init (line 176) | function init(ctx) { function checkInit (line 192) | function checkInit() { function mightBeEnum (line 203) | function mightBeEnum(value) { function glEnumToString (line 217) | function glEnumToString(value) { function glFunctionArgToString (line 233) | function glFunctionArgToString(functionName, numArgs, argumentIndex, val... function glFunctionArgsToString (line 279) | function glFunctionArgsToString(functionName, args) { function makePropertyWrapper (line 291) | function makePropertyWrapper(wrapper, original, propertyName) { function makeFunctionWrapper (line 305) | function makeFunctionWrapper(original, functionName) { function makeDebugContext (line 332) | function makeDebugContext(ctx, opt_onErrorFunc, opt_onFunc, opt_err_ctx) { function resetToInitialState (line 402) | function resetToInitialState(ctx) { function makeLostContextSimulatingCanvas (line 466) | function makeLostContextSimulatingCanvas(canvas) { FILE: src/js/third_party/webgl_teapot/webgl-utils.js function showLink (line 105) | function showLink(str) { FILE: src/js/videopipe.js function errorHandler (line 23) | function errorHandler(context) { function successHandler (line 30) | function successHandler(context) { function noAction (line 36) | function noAction() { function VideoPipe (line 40) | function VideoPipe(stream, handler) { FILE: test/download-browsers.js function download (line 3) | async function download() { FILE: test/steps.js constant TIMEOUT (line 8) | const TIMEOUT = 10000; function step (line 10) | function step(drivers, cb, logMessage) { function waitNVideosExist (line 19) | function waitNVideosExist(driver, n) { function waitAllVideosHaveEnoughData (line 25) | function waitAllVideosHaveEnoughData(driver) { FILE: test/webdriver.js function download (line 18) | async function download(browser, version, cacheDir, platform) { function mapVersion (line 38) | function mapVersion(browser, version) { function buildDriver (line 50) | async function buildDriver(browser = process.env.BROWSER || 'chrome', op... FILE: test/webrtcclient.js class MediaStream (line 11) | class MediaStream { method constructor (line 12) | constructor(tracks = []) { method getTracks (line 17) | getTracks() { method getAudioTracks (line 21) | getAudioTracks() { method getVideoTracks (line 25) | getVideoTracks() { class MediaDevices (line 30) | class MediaDevices { method constructor (line 31) | constructor(driver) { method getUserMedia (line 35) | getUserMedia(constraints) { class PeerConnection (line 58) | class PeerConnection { method constructor (line 59) | constructor(driver) { method create (line 63) | create(rtcConfiguration) { method addTrack (line 69) | addTrack(track, stream) { method createOffer (line 77) | createOffer(offerOptions) { method createAnswer (line 85) | createAnswer() { method setLocalDescription (line 95) | setLocalDescription(desc) { method setRemoteDescription (line 112) | setRemoteDescription(desc) {