|
|
@@ -440,10 +440,12 @@ var RTCUtils = {
|
|
440
|
440
|
//
|
|
441
|
441
|
// https://groups.google.com/forum/#!topic/mozilla.dev.media/pKOiioXonJg
|
|
442
|
442
|
// https://github.com/webrtc/samples/issues/302
|
|
443
|
|
- if (!element[0])
|
|
|
443
|
+ if (!element)
|
|
444
|
444
|
return;
|
|
445
|
|
- element[0].mozSrcObject = stream;
|
|
446
|
|
- element[0].play();
|
|
|
445
|
+ element.mozSrcObject = stream;
|
|
|
446
|
+ element.play();
|
|
|
447
|
+
|
|
|
448
|
+ return element;
|
|
447
|
449
|
};
|
|
448
|
450
|
this.getStreamID = function (stream) {
|
|
449
|
451
|
var id = stream.id;
|
|
|
@@ -488,7 +490,9 @@ var RTCUtils = {
|
|
488
|
490
|
= webkitURL.createObjectURL(stream);
|
|
489
|
491
|
}
|
|
490
|
492
|
|
|
491
|
|
- element.attr('src', stream.jitsiObjectURL);
|
|
|
493
|
+ element.src = stream.jitsiObjectURL;
|
|
|
494
|
+
|
|
|
495
|
+ return element;
|
|
492
|
496
|
};
|
|
493
|
497
|
this.getStreamID = function (stream) {
|
|
494
|
498
|
// streams from FF endpoints have the characters '{' and '}'
|
|
|
@@ -537,18 +541,18 @@ var RTCUtils = {
|
|
537
|
541
|
self.peerconnection = RTCPeerConnection;
|
|
538
|
542
|
self.getUserMedia = window.getUserMedia;
|
|
539
|
543
|
self.enumerateDevices = enumerateDevicesThroughMediaStreamTrack;
|
|
540
|
|
- self.attachMediaStream = function (elSel, stream) {
|
|
|
544
|
+ self.attachMediaStream = function (element, stream) {
|
|
541
|
545
|
|
|
542
|
546
|
if (stream.id === "dummyAudio" || stream.id === "dummyVideo") {
|
|
543
|
547
|
return;
|
|
544
|
548
|
}
|
|
545
|
549
|
|
|
546
|
550
|
var isVideoStream = !!stream.getVideoTracks().length;
|
|
547
|
|
- if (isVideoStream && !elSel.is(':visible')) {
|
|
|
551
|
+ if (isVideoStream && !$(element).is(':visible')) {
|
|
548
|
552
|
throw new Error('video element must be visible to attach video stream');
|
|
549
|
553
|
}
|
|
550
|
554
|
|
|
551
|
|
- attachMediaStream(elSel[0], stream);
|
|
|
555
|
+ return attachMediaStream(element, stream);
|
|
552
|
556
|
};
|
|
553
|
557
|
self.getStreamID = function (stream) {
|
|
554
|
558
|
var id = SDPUtil.filter_special_chars(stream.label);
|
|
|
@@ -571,13 +575,15 @@ var RTCUtils = {
|
|
571
|
575
|
self.setVideoSrc = function (element, src) {
|
|
572
|
576
|
//logger.info("Set video src: ", element, src);
|
|
573
|
577
|
if (!src) {
|
|
574
|
|
- logger.warn("Not attaching video stream, 'src' is null");
|
|
575
|
|
- return;
|
|
|
578
|
+ attachMediaStream(element, null);
|
|
|
579
|
+ } else {
|
|
|
580
|
+ AdapterJS.WebRTCPlugin.WaitForPluginReady();
|
|
|
581
|
+ var stream
|
|
|
582
|
+ = AdapterJS.WebRTCPlugin.plugin
|
|
|
583
|
+ .getStreamWithId(
|
|
|
584
|
+ AdapterJS.WebRTCPlugin.pageId, src);
|
|
|
585
|
+ attachMediaStream(element, stream);
|
|
576
|
586
|
}
|
|
577
|
|
- AdapterJS.WebRTCPlugin.WaitForPluginReady();
|
|
578
|
|
- var stream = AdapterJS.WebRTCPlugin.plugin
|
|
579
|
|
- .getStreamWithId(AdapterJS.WebRTCPlugin.pageId, src);
|
|
580
|
|
- attachMediaStream(element, stream);
|
|
581
|
587
|
};
|
|
582
|
588
|
|
|
583
|
589
|
onReady(options, self.getUserMediaWithConstraints);
|