The rtc-core package includes a number of core types and constants that are used across the rtc.io suite.
A browser detection helper for accessing prefix-free versions of the various WebRTC types.
If you wanted to get the native RTCPeerConnection
prototype in any browser
you could do the following:
var detect = require('rtc-core/detect'); // also available in rtc/detect
var RTCPeerConnection = detect('RTCPeerConnection');
This would provide whatever the browser prefixed version of the
RTCPeerConnection is available (webkitRTCPeerConnection
,
mozRTCPeerConnection
, etc).
Respond appropriately to options that are passed to packages like
rtc-quickconnect
and trigger a callback
(error first) with iceServer
values.
The function looks for either of the following keys in the options, in the following order or precedence:
-
ice
- this can either be an array of ice server values or a generator function (in the same format as this function). If this key contains a value then any servers specified in theiceServers
key (2) will be ignored. -
iceServers
- an array of ice server values.
This is a simple, cross-browser method for resetting a media element back to a initial state after having media attached.
waitConnected(pc, callback)
A simple helper function that will monitor iceconnectionstatechange
events
and wait until a connected iceConnectionState
has been triggered (either
connected
or completed
). Once this state has been achieved the event
listener will be removed and a callback fired.
Copyright 2013 - 2014 National ICT Australia Limited (NICTA)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.