@@ -438,7 +438,48 @@ SimpleWebRTC.prototype.sendFile = function () {
438
438
439
439
module . exports = SimpleWebRTC ;
440
440
441
- } , { "attachmediastream" :4 , "mockconsole" :5 , "socket.io-client" :7 , "webrtc" :3 , "webrtcsupport" :6 , "wildemitter" :2 } ] , 2 :[ function ( require , module , exports ) {
441
+ } , { "attachmediastream" :6 , "mockconsole" :5 , "socket.io-client" :7 , "webrtc" :2 , "webrtcsupport" :3 , "wildemitter" :4 } ] , 3 :[ function ( require , module , exports ) {
442
+ // created by @HenrikJoreteg
443
+ var prefix ;
444
+ var isChrome = false ;
445
+ var isFirefox = false ;
446
+ var ua = window . navigator . userAgent . toLowerCase ( ) ;
447
+
448
+ // basic sniffing
449
+ if ( ua . indexOf ( 'firefox' ) !== - 1 ) {
450
+ prefix = 'moz' ;
451
+ isFirefox = true ;
452
+ } else if ( ua . indexOf ( 'chrome' ) !== - 1 ) {
453
+ prefix = 'webkit' ;
454
+ isChrome = true ;
455
+ }
456
+
457
+ var PC = window . mozRTCPeerConnection || window . webkitRTCPeerConnection ;
458
+ var IceCandidate = window . mozRTCIceCandidate || window . RTCIceCandidate ;
459
+ var SessionDescription = window . mozRTCSessionDescription || window . RTCSessionDescription ;
460
+ var MediaStream = window . webkitMediaStream || window . MediaStream ;
461
+ var screenSharing = window . location . protocol === 'https:' &&
462
+ ( ( window . navigator . userAgent . match ( 'Chrome' ) && parseInt ( window . navigator . userAgent . match ( / C h r o m e \/ ( .* ) / ) [ 1 ] , 10 ) >= 26 ) ||
463
+ ( window . navigator . userAgent . match ( 'Firefox' ) && parseInt ( window . navigator . userAgent . match ( / F i r e f o x \/ ( .* ) / ) [ 1 ] , 10 ) >= 33 ) ) ;
464
+ var AudioContext = window . webkitAudioContext || window . AudioContext ;
465
+
466
+
467
+ // export support flags and constructors.prototype && PC
468
+ module . exports = {
469
+ support : ! ! PC ,
470
+ dataChannel : isChrome || isFirefox || ( PC && PC . prototype && PC . prototype . createDataChannel ) ,
471
+ prefix : prefix ,
472
+ webAudio : ! ! ( AudioContext && AudioContext . prototype . createMediaStreamSource ) ,
473
+ mediaStream : ! ! ( MediaStream && MediaStream . prototype . removeTrack ) ,
474
+ screenSharing : ! ! screenSharing ,
475
+ AudioContext : AudioContext ,
476
+ PeerConnection : PC ,
477
+ SessionDescription : SessionDescription ,
478
+ IceCandidate : IceCandidate ,
479
+ MediaStream : MediaStream
480
+ } ;
481
+
482
+ } , { } ] , 4 :[ function ( require , module , exports ) {
442
483
/*
443
484
WildEmitter.js is a slim little event emitter by @henrikjoreteg largely based
444
485
on @visionmedia's Emitter from UI Kit.
@@ -579,7 +620,19 @@ WildEmitter.prototype.getWildcardCallbacks = function (eventName) {
579
620
return result ;
580
621
} ;
581
622
582
- } , { } ] , 4 :[ function ( require , module , exports ) {
623
+ } , { } ] , 5 :[ function ( require , module , exports ) {
624
+ var methods = "assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn" . split ( "," ) ;
625
+ var l = methods . length ;
626
+ var fn = function ( ) { } ;
627
+ var mockconsole = { } ;
628
+
629
+ while ( l -- ) {
630
+ mockconsole [ methods [ l ] ] = fn ;
631
+ }
632
+
633
+ module . exports = mockconsole ;
634
+
635
+ } , { } ] , 6 :[ function ( require , module , exports ) {
583
636
module . exports = function ( stream , el , options ) {
584
637
var URL = window . URL ;
585
638
var opts = {
@@ -620,59 +673,6 @@ module.exports = function (stream, el, options) {
620
673
return element ;
621
674
} ;
622
675
623
- } , { } ] , 5 :[ function ( require , module , exports ) {
624
- var methods = "assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn" . split ( "," ) ;
625
- var l = methods . length ;
626
- var fn = function ( ) { } ;
627
- var mockconsole = { } ;
628
-
629
- while ( l -- ) {
630
- mockconsole [ methods [ l ] ] = fn ;
631
- }
632
-
633
- module . exports = mockconsole ;
634
-
635
- } , { } ] , 6 :[ function ( require , module , exports ) {
636
- // created by @HenrikJoreteg
637
- var prefix ;
638
- var isChrome = false ;
639
- var isFirefox = false ;
640
- var ua = window . navigator . userAgent . toLowerCase ( ) ;
641
-
642
- // basic sniffing
643
- if ( ua . indexOf ( 'firefox' ) !== - 1 ) {
644
- prefix = 'moz' ;
645
- isFirefox = true ;
646
- } else if ( ua . indexOf ( 'chrome' ) !== - 1 ) {
647
- prefix = 'webkit' ;
648
- isChrome = true ;
649
- }
650
-
651
- var PC = window . mozRTCPeerConnection || window . webkitRTCPeerConnection ;
652
- var IceCandidate = window . mozRTCIceCandidate || window . RTCIceCandidate ;
653
- var SessionDescription = window . mozRTCSessionDescription || window . RTCSessionDescription ;
654
- var MediaStream = window . webkitMediaStream || window . MediaStream ;
655
- var screenSharing = window . location . protocol === 'https:' &&
656
- ( ( window . navigator . userAgent . match ( 'Chrome' ) && parseInt ( window . navigator . userAgent . match ( / C h r o m e \/ ( .* ) / ) [ 1 ] , 10 ) >= 26 ) ||
657
- ( window . navigator . userAgent . match ( 'Firefox' ) && parseInt ( window . navigator . userAgent . match ( / F i r e f o x \/ ( .* ) / ) [ 1 ] , 10 ) >= 33 ) ) ;
658
- var AudioContext = window . webkitAudioContext || window . AudioContext ;
659
-
660
-
661
- // export support flags and constructors.prototype && PC
662
- module . exports = {
663
- support : ! ! PC ,
664
- dataChannel : isChrome || isFirefox || ( PC && PC . prototype && PC . prototype . createDataChannel ) ,
665
- prefix : prefix ,
666
- webAudio : ! ! ( AudioContext && AudioContext . prototype . createMediaStreamSource ) ,
667
- mediaStream : ! ! ( MediaStream && MediaStream . prototype . removeTrack ) ,
668
- screenSharing : ! ! screenSharing ,
669
- AudioContext : AudioContext ,
670
- PeerConnection : PC ,
671
- SessionDescription : SessionDescription ,
672
- IceCandidate : IceCandidate ,
673
- MediaStream : MediaStream
674
- } ;
675
-
676
676
} , { } ] , 7 :[ function ( require , module , exports ) {
677
677
/*! Socket.IO.js build:0.9.16, development. Copyright(c) 2011 LearnBoost <[email protected] > MIT Licensed */
678
678
@@ -4894,7 +4894,7 @@ exports.format = function(f) {
4894
4894
return str ;
4895
4895
} ;
4896
4896
4897
- } , { "events" :9 } ] , 3 :[ function ( require , module , exports ) {
4897
+ } , { "events" :9 } ] , 2 :[ function ( require , module , exports ) {
4898
4898
var util = require ( 'util' ) ;
4899
4899
var webrtc = require ( 'webrtcsupport' ) ;
4900
4900
var WildEmitter = require ( 'wildemitter' ) ;
@@ -5059,7 +5059,7 @@ WebRTC.prototype.sendDirectlyToAll = function (channel, message, payload) {
5059
5059
5060
5060
module . exports = WebRTC ;
5061
5061
5062
- } , { "./peer" :10 , "localmedia" :11 , "mockconsole" :5 , "util" :8 , "webrtcsupport" :6 , "wildemitter" :2 } ] , 12 :[ function ( require , module , exports ) {
5062
+ } , { "./peer" :10 , "localmedia" :11 , "mockconsole" :5 , "util" :8 , "webrtcsupport" :3 , "wildemitter" :4 } ] , 12 :[ function ( require , module , exports ) {
5063
5063
// shim for using process in browser
5064
5064
5065
5065
var process = module . exports = { } ;
@@ -5525,7 +5525,7 @@ Peer.prototype.handleDataChannelAdded = function (channel) {
5525
5525
5526
5526
module . exports = Peer ;
5527
5527
5528
- } , { "rtcpeerconnection" :13 , "util" :8 , "webrtcsupport" :6 , "wildemitter" :2 } ] , 14 :[ function ( require , module , exports ) {
5528
+ } , { "rtcpeerconnection" :13 , "util" :8 , "webrtcsupport" :3 , "wildemitter" :4 } ] , 14 :[ function ( require , module , exports ) {
5529
5529
// getUserMedia helper by @HenrikJoreteg
5530
5530
var func = ( window . navigator . getUserMedia ||
5531
5531
window . navigator . webkitGetUserMedia ||
@@ -5534,12 +5534,11 @@ var func = (window.navigator.getUserMedia ||
5534
5534
5535
5535
5536
5536
module . exports = function ( constraints , cb ) {
5537
- var options ;
5537
+ var options , error ;
5538
5538
var haveOpts = arguments . length === 2 ;
5539
5539
var defaultOpts = { video : true , audio : true } ;
5540
- var error ;
5541
5540
var denied = 'PermissionDeniedError' ;
5542
- var notSatified = 'ConstraintNotSatisfiedError' ;
5541
+ var notSatisfied = 'ConstraintNotSatisfiedError' ;
5543
5542
5544
5543
// make constraints optional
5545
5544
if ( ! haveOpts ) {
@@ -5552,7 +5551,35 @@ module.exports = function (constraints, cb) {
5552
5551
// throw proper error per spec
5553
5552
error = new Error ( 'MediaStreamError' ) ;
5554
5553
error . name = 'NotSupportedError' ;
5555
- return cb ( error ) ;
5554
+
5555
+ // keep all callbacks async
5556
+ return window . setTimeout ( function ( ) {
5557
+ cb ( error ) ;
5558
+ } , 0 ) ;
5559
+ }
5560
+
5561
+ // make requesting media from non-http sources trigger an error
5562
+ // current browsers silently drop the request instead
5563
+ var protocol = window . location . protocol ;
5564
+ if ( protocol !== 'http:' && protocol !== 'https:' ) {
5565
+ error = new Error ( 'MediaStreamError' ) ;
5566
+ error . name = 'NotSupportedError' ;
5567
+
5568
+ // keep all callbacks async
5569
+ return window . setTimeout ( function ( ) {
5570
+ cb ( error ) ;
5571
+ } , 0 ) ;
5572
+ }
5573
+
5574
+ // normalize error handling when no media types are requested
5575
+ if ( ! constraints . audio && ! constraints . video ) {
5576
+ error = new Error ( 'MediaStreamError' ) ;
5577
+ error . name = 'NoMediaRequestedError' ;
5578
+
5579
+ // keep all callbacks async
5580
+ return window . setTimeout ( function ( ) {
5581
+ cb ( error ) ;
5582
+ } , 0 ) ;
5556
5583
}
5557
5584
5558
5585
if ( localStorage && localStorage . useFirefoxFakeDevice === "true" ) {
@@ -5571,7 +5598,7 @@ module.exports = function (constraints, cb) {
5571
5598
if ( err === denied ) {
5572
5599
error . name = denied ;
5573
5600
} else {
5574
- error . name = notSatified ;
5601
+ error . name = notSatisfied ;
5575
5602
}
5576
5603
} else {
5577
5604
// if we get an error object make sure '.name' property is set
@@ -5584,7 +5611,7 @@ module.exports = function (constraints, cb) {
5584
5611
if ( error [ denied ] ) {
5585
5612
err . name = denied ;
5586
5613
} else {
5587
- err . name = notSatified ;
5614
+ err . name = notSatisfied ;
5588
5615
}
5589
5616
}
5590
5617
}
@@ -5871,7 +5898,7 @@ Object.defineProperty(LocalMedia.prototype, 'localScreen', {
5871
5898
5872
5899
module . exports = LocalMedia ;
5873
5900
5874
- } , { "getscreenmedia" :16 , "getusermedia" :14 , "hark" :15 , "mediastream-gain" :17 , "mockconsole" :5 , "util" :8 , "webrtcsupport" :6 , "wildemitter" :2 } ] , 18 :[ function ( require , module , exports ) {
5901
+ } , { "getscreenmedia" :16 , "getusermedia" :14 , "hark" :15 , "mediastream-gain" :17 , "mockconsole" :5 , "util" :8 , "webrtcsupport" :3 , "wildemitter" :4 } ] , 18 :[ function ( require , module , exports ) {
5875
5902
// Underscore.js 1.7.0
5876
5903
// http://underscorejs.org
5877
5904
// (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
@@ -7335,20 +7362,7 @@ GainController.prototype.on = function () {
7335
7362
7336
7363
module . exports = GainController ;
7337
7364
7338
- } , { "webrtcsupport" :19 } ] , 20 :[ function ( require , module , exports ) {
7339
- var tosdp = require ( './lib/tosdp' ) ;
7340
- var tojson = require ( './lib/tojson' ) ;
7341
-
7342
-
7343
- exports . toSessionSDP = tosdp . toSessionSDP ;
7344
- exports . toMediaSDP = tosdp . toMediaSDP ;
7345
- exports . toCandidateSDP = tosdp . toCandidateSDP ;
7346
-
7347
- exports . toSessionJSON = tojson . toSessionJSON ;
7348
- exports . toMediaJSON = tojson . toMediaJSON ;
7349
- exports . toCandidateJSON = tojson . toCandidateJSON ;
7350
-
7351
- } , { "./lib/tojson" :22 , "./lib/tosdp" :21 } ] , 13 :[ function ( require , module , exports ) {
7365
+ } , { "webrtcsupport" :19 } ] , 13 :[ function ( require , module , exports ) {
7352
7366
var _ = require ( 'underscore' ) ;
7353
7367
var util = require ( 'util' ) ;
7354
7368
var webrtc = require ( 'webrtcsupport' ) ;
@@ -7957,7 +7971,20 @@ PeerConnection.prototype.getStats = function (cb) {
7957
7971
7958
7972
module . exports = PeerConnection ;
7959
7973
7960
- } , { "sdp-jingle-json" :20 , "traceablepeerconnection" :23 , "underscore" :18 , "util" :8 , "webrtcsupport" :6 , "wildemitter" :2 } ] , 19 :[ function ( require , module , exports ) {
7974
+ } , { "sdp-jingle-json" :20 , "traceablepeerconnection" :21 , "underscore" :18 , "util" :8 , "webrtcsupport" :3 , "wildemitter" :4 } ] , 20 :[ function ( require , module , exports ) {
7975
+ var tosdp = require ( './lib/tosdp' ) ;
7976
+ var tojson = require ( './lib/tojson' ) ;
7977
+
7978
+
7979
+ exports . toSessionSDP = tosdp . toSessionSDP ;
7980
+ exports . toMediaSDP = tosdp . toMediaSDP ;
7981
+ exports . toCandidateSDP = tosdp . toCandidateSDP ;
7982
+
7983
+ exports . toSessionJSON = tojson . toSessionJSON ;
7984
+ exports . toMediaJSON = tojson . toMediaJSON ;
7985
+ exports . toCandidateJSON = tojson . toCandidateJSON ;
7986
+
7987
+ } , { "./lib/tojson" :23 , "./lib/tosdp" :22 } ] , 19 :[ function ( require , module , exports ) {
7961
7988
// created by @HenrikJoreteg
7962
7989
var prefix ;
7963
7990
var isChrome = false ;
@@ -8111,7 +8138,7 @@ window.addEventListener('message', function (event) {
8111
8138
}
8112
8139
} ) ;
8113
8140
8114
- } , { "getusermedia" :14 } ] , 21 :[ function ( require , module , exports ) {
8141
+ } , { "getusermedia" :14 } ] , 22 :[ function ( require , module , exports ) {
8115
8142
var senders = {
8116
8143
'initiator' : 'sendonly' ,
8117
8144
'responder' : 'recvonly' ,
@@ -8328,7 +8355,7 @@ exports.toCandidateSDP = function (candidate) {
8328
8355
return 'a=candidate:' + sdp . join ( ' ' ) ;
8329
8356
} ;
8330
8357
8331
- } , { } ] , 22 :[ function ( require , module , exports ) {
8358
+ } , { } ] , 23 :[ function ( require , module , exports ) {
8332
8359
var parsers = require ( './parsers' ) ;
8333
8360
var idCounter = Math . random ( ) ;
8334
8361
@@ -8652,7 +8679,7 @@ module.exports = function(stream, options) {
8652
8679
return harker ;
8653
8680
}
8654
8681
8655
- } , { "wildemitter" :2 } ] , 24 :[ function ( require , module , exports ) {
8682
+ } , { "wildemitter" :4 } ] , 24 :[ function ( require , module , exports ) {
8656
8683
exports . lines = function ( sdp ) {
8657
8684
return sdp . split ( '\r\n' ) . filter ( function ( line ) {
8658
8685
return line . length > 0 ;
@@ -8913,7 +8940,7 @@ exports.bandwidth = function (line) {
8913
8940
return parsed ;
8914
8941
} ;
8915
8942
8916
- } , { } ] , 23 :[ function ( require , module , exports ) {
8943
+ } , { } ] , 21 :[ function ( require , module , exports ) {
8917
8944
// based on https://github.com/ESTOS/strophe.jingle/
8918
8945
// adds wildemitter support
8919
8946
var util = require ( 'util' ) ;
@@ -9150,6 +9177,6 @@ TraceablePeerConnection.prototype.getStats = function (callback, errback) {
9150
9177
9151
9178
module . exports = TraceablePeerConnection ;
9152
9179
9153
- } , { "util" :8 , "webrtcsupport" :6 , "wildemitter" :2 } ] } , { } , [ 1 ] ) ( 1 )
9180
+ } , { "util" :8 , "webrtcsupport" :3 , "wildemitter" :4 } ] } , { } , [ 1 ] ) ( 1 )
9154
9181
} ) ;
9155
9182
;
0 commit comments