mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2026-09-09 04:48:39 +00:00
Fixes issue with switching to the screen stream before conference starts(when we're still alone in the room).
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
<script src="libs/popover.js?v=1"></script><!-- bootstrap tooltip lib -->
|
||||
<script src="libs/toastr.js?v=1"></script><!-- notifications lib -->
|
||||
<script src="interface_config.js?v=5"></script>
|
||||
<script src="libs/app.bundle.js?v=97"></script>
|
||||
<script src="libs/app.bundle.js?v=98"></script>
|
||||
<script src="analytics.js?v=1"></script><!-- google analytics plugin -->
|
||||
<link rel="stylesheet" href="css/font.css?v=7"/>
|
||||
<link rel="stylesheet" href="css/toastr.css?v=1">
|
||||
|
||||
@@ -1325,6 +1325,9 @@ var RTC = {
|
||||
this.localVideo = this.createLocalStream(videoStream, "video", true, type);
|
||||
// Stop the stream to trigger onended event for old stream
|
||||
oldStream.stop();
|
||||
|
||||
this.switchVideoStreams(videoStream, oldStream);
|
||||
|
||||
APP.xmpp.switchStreams(videoStream, oldStream,localCallback);
|
||||
},
|
||||
changeLocalAudio: function (stream, callback) {
|
||||
@@ -8591,7 +8594,10 @@ var VideoLayout = (function (my) {
|
||||
|
||||
localVideoThumbnail.changeVideo(stream, isMuted);
|
||||
|
||||
LargeVideo.updateLargeVideo(APP.xmpp.myResource());
|
||||
LargeVideo.updateLargeVideo(
|
||||
APP.xmpp.myResource(),
|
||||
/* force update only before conference starts */
|
||||
!APP.xmpp.isConferenceInProgress());
|
||||
|
||||
};
|
||||
|
||||
@@ -12768,9 +12774,6 @@ JingleSession.prototype.switchStreams = function (new_stream, oldStream, success
|
||||
self.peerconnection.addStream(new_stream);
|
||||
}
|
||||
|
||||
if(!isAudio)
|
||||
APP.RTC.switchVideoStreams(new_stream, oldStream);
|
||||
|
||||
// Conference is not active
|
||||
if(!oldSdp || !self.peerconnection) {
|
||||
success_callback();
|
||||
@@ -16846,8 +16849,12 @@ var XMPP = {
|
||||
isExternalAuthEnabled: function () {
|
||||
return Moderator.isExternalAuthEnabled();
|
||||
},
|
||||
isConferenceInProgress: function () {
|
||||
return connection && connection.jingle.activecall &&
|
||||
connection.jingle.activecall.peerconnection;
|
||||
},
|
||||
switchStreams: function (stream, oldStream, callback, isAudio) {
|
||||
if (connection && connection.jingle.activecall) {
|
||||
if (this.isConferenceInProgress()) {
|
||||
// FIXME: will block switchInProgress on true value in case of exception
|
||||
connection.jingle.activecall.switchStreams(stream, oldStream, callback, isAudio);
|
||||
} else {
|
||||
@@ -17085,8 +17092,7 @@ var XMPP = {
|
||||
return connection.jingle.sessions;
|
||||
},
|
||||
removeStream: function (stream) {
|
||||
if(!connection || !connection.jingle.activecall ||
|
||||
!connection.jingle.activecall.peerconnection)
|
||||
if (!this.isConferenceInProgress())
|
||||
return;
|
||||
connection.jingle.activecall.peerconnection.removeStream(stream);
|
||||
}
|
||||
|
||||
@@ -215,6 +215,9 @@ var RTC = {
|
||||
this.localVideo = this.createLocalStream(videoStream, "video", true, type);
|
||||
// Stop the stream to trigger onended event for old stream
|
||||
oldStream.stop();
|
||||
|
||||
this.switchVideoStreams(videoStream, oldStream);
|
||||
|
||||
APP.xmpp.switchStreams(videoStream, oldStream,localCallback);
|
||||
},
|
||||
changeLocalAudio: function (stream, callback) {
|
||||
|
||||
@@ -64,7 +64,10 @@ var VideoLayout = (function (my) {
|
||||
|
||||
localVideoThumbnail.changeVideo(stream, isMuted);
|
||||
|
||||
LargeVideo.updateLargeVideo(APP.xmpp.myResource());
|
||||
LargeVideo.updateLargeVideo(
|
||||
APP.xmpp.myResource(),
|
||||
/* force update only before conference starts */
|
||||
!APP.xmpp.isConferenceInProgress());
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -1020,9 +1020,6 @@ JingleSession.prototype.switchStreams = function (new_stream, oldStream, success
|
||||
self.peerconnection.addStream(new_stream);
|
||||
}
|
||||
|
||||
if(!isAudio)
|
||||
APP.RTC.switchVideoStreams(new_stream, oldStream);
|
||||
|
||||
// Conference is not active
|
||||
if(!oldSdp || !self.peerconnection) {
|
||||
success_callback();
|
||||
|
||||
@@ -362,8 +362,12 @@ var XMPP = {
|
||||
isExternalAuthEnabled: function () {
|
||||
return Moderator.isExternalAuthEnabled();
|
||||
},
|
||||
isConferenceInProgress: function () {
|
||||
return connection && connection.jingle.activecall &&
|
||||
connection.jingle.activecall.peerconnection;
|
||||
},
|
||||
switchStreams: function (stream, oldStream, callback, isAudio) {
|
||||
if (connection && connection.jingle.activecall) {
|
||||
if (this.isConferenceInProgress()) {
|
||||
// FIXME: will block switchInProgress on true value in case of exception
|
||||
connection.jingle.activecall.switchStreams(stream, oldStream, callback, isAudio);
|
||||
} else {
|
||||
@@ -601,8 +605,7 @@ var XMPP = {
|
||||
return connection.jingle.sessions;
|
||||
},
|
||||
removeStream: function (stream) {
|
||||
if(!connection || !connection.jingle.activecall ||
|
||||
!connection.jingle.activecall.peerconnection)
|
||||
if (!this.isConferenceInProgress())
|
||||
return;
|
||||
connection.jingle.activecall.peerconnection.removeStream(stream);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user