Socket
Socket
Sign inDemoInstall

webrtcsupport

Package Overview
Dependencies
Maintainers
4
Versions
33
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webrtcsupport - npm Package Compare versions

Comparing version 1.1.0 to 1.2.0

29

index-browser.js
// created by @HenrikJoreteg
var prefix;
var isChrome = false;
var isFirefox = false;
var ua = window.navigator.userAgent.toLowerCase();
// basic sniffing
if (ua.indexOf('firefox') !== -1) {
if (window.mozRTCPeerConnection || navigator.mozGetUserMedia) {
prefix = 'moz';
isFirefox = true;
} else if (ua.indexOf('chrome') !== -1) {
} else if (window.webkitRTCPeerConnection || navigator.webkitGetUserMedia) {
prefix = 'webkit';
isChrome = true;
}

@@ -24,12 +18,16 @@

var AudioContext = window.webkitAudioContext || window.AudioContext;
var supportVp8 = document.createElement('video').canPlayType('video/webm; codecs="vp8", vorbis') === "probably";
var getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.msGetUserMedia || navigator.mozGetUserMedia;
// export support flags and constructors.prototype && PC
module.exports = {
support: !!PC,
dataChannel: isChrome || isFirefox || (PC && PC.prototype && PC.prototype.createDataChannel),
support: !!PC && supportVp8 && !!getUserMedia,
supportRTCPeerConnection: !!PC,
supportVp8: supportVp8,
supportGetUserMedia: !!getUserMedia,
supportDataChannel: isChrome || isFirefox || (PC && PC.prototype && PC.prototype.createDataChannel),
supportWebAudio: !!(AudioContext && AudioContext.prototype.createMediaStreamSource),
supportMediaStream: !!(MediaStream && MediaStream.prototype.removeTrack),
supportScreenSharing: !!screenSharing,
prefix: prefix,
webAudio: !!(AudioContext && AudioContext.prototype.createMediaStreamSource),
mediaStream: !!(MediaStream && MediaStream.prototype.removeTrack),
screenSharing: !!screenSharing,
AudioContext: AudioContext,

@@ -39,3 +37,4 @@ PeerConnection: PC,

IceCandidate: IceCandidate,
MediaStream: MediaStream
MediaStream: MediaStream,
getUserMedia: getUserMedia
};

@@ -6,7 +6,10 @@ // Once node.js gains a robust module integrating WebRTC that can

support: false,
supportRTCPeerConnection: false,
supportVp8: false,
supportGetUserMedia: false,
supportDataChannel: false,
supportWebAudio: false,
supportMediaStream: false,
supportScreenSharing: false,
prefix: undefined,
dataChannel: false,
webAudio: false,
mediaStream: false,
screenSharing: false,
AudioContext: undefined,

@@ -16,3 +19,4 @@ PeerConnection: undefined,

IceCandidate: undefined,
MediaStream: undefined
MediaStream: undefined,
getUserMedia: undefined
};
{
"name": "webrtcsupport",
"description": "Browser module to detect support for webrtc and extract proper constructors.",
"version": "1.1.0",
"version": "1.2.0",
"author": "Henrik Joreteg <henrik@andyet.net>",

@@ -6,0 +6,0 @@ "browser": "index-browser.js",

@@ -29,6 +29,10 @@ # webrtcsupport

support: // boolean whether basic WebRTC support exists
dataChannel: // boolean whether WebRTC data channels are supported
supportRTCPeerConnection: // boolean whether basic support for RTCPeerConnection exists
supportVp8: // boolean guess whether VP8 is supported by the browser
supportGetUserMedia: // boolean whether getUserMedia is supported by the browser
supportDataChannel: // boolean whether WebRTC data channels are supported
supportWebAudio: // boolean whether WebAudio API is supported
supportMediaStream: // boolean whether MediaStream is supported
supportScreenSharing: // boolean guess of whether screensharing is supported,
prefix: // returns browser prefix (either moz or webkit for now)
screenSharing: // boolean guess of whether screensharing is supported,
webAudio: // A support for web audio API
AudioContext: // the audio context constructor from the web audio API

@@ -38,2 +42,3 @@ PeerConnection: // constructor for creating a peer connection

IceCandidate: // constructor for ice candidate
getUserMedia: // getUserMedia function
}

@@ -40,0 +45,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc