Merge pull request #1308 from jitsi/ss_resize_remote
Fix for the size of remote desktop sharing videos
This commit is contained in:
commit
53e784094a
|
@ -23,6 +23,8 @@ export default class LargeVideoManager {
|
||||||
this.eventEmitter = emitter;
|
this.eventEmitter = emitter;
|
||||||
|
|
||||||
this.state = VIDEO_CONTAINER_TYPE;
|
this.state = VIDEO_CONTAINER_TYPE;
|
||||||
|
// FIXME: We are passing resizeContainer as parameter which is calling
|
||||||
|
// Container.resize. Probably there's better way to implement this.
|
||||||
this.videoContainer = new VideoContainer(
|
this.videoContainer = new VideoContainer(
|
||||||
() => this.resizeContainer(VIDEO_CONTAINER_TYPE), emitter);
|
() => this.resizeContainer(VIDEO_CONTAINER_TYPE), emitter);
|
||||||
this.addContainer(VIDEO_CONTAINER_TYPE, this.videoContainer);
|
this.addContainer(VIDEO_CONTAINER_TYPE, this.videoContainer);
|
||||||
|
|
|
@ -164,12 +164,20 @@ export class VideoContainer extends LargeContainer {
|
||||||
return getStreamOwnerId(this.stream);
|
return getStreamOwnerId(this.stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor (onPlay, emitter) {
|
/**
|
||||||
|
* Creates new VideoContainer instance.
|
||||||
|
* @param resizeContainer {Function} function that takes care of the size
|
||||||
|
* of the video container.
|
||||||
|
* @param emitter {EventEmitter} the event emitter that will be used by
|
||||||
|
* this instance.
|
||||||
|
*/
|
||||||
|
constructor (resizeContainer, emitter) {
|
||||||
super();
|
super();
|
||||||
this.stream = null;
|
this.stream = null;
|
||||||
this.videoType = null;
|
this.videoType = null;
|
||||||
this.localFlipX = true;
|
this.localFlipX = true;
|
||||||
this.emitter = emitter;
|
this.emitter = emitter;
|
||||||
|
this.resizeContainer = resizeContainer;
|
||||||
|
|
||||||
this.isVisible = false;
|
this.isVisible = false;
|
||||||
|
|
||||||
|
@ -199,8 +207,8 @@ export class VideoContainer extends LargeContainer {
|
||||||
this.avatarHeight = $("#dominantSpeakerAvatar").height();
|
this.avatarHeight = $("#dominantSpeakerAvatar").height();
|
||||||
|
|
||||||
var onPlayCallback = function (event) {
|
var onPlayCallback = function (event) {
|
||||||
if (typeof onPlay === 'function') {
|
if (typeof resizeContainer === 'function') {
|
||||||
onPlay(event);
|
resizeContainer(event);
|
||||||
}
|
}
|
||||||
this.wasVideoRendered = true;
|
this.wasVideoRendered = true;
|
||||||
}.bind(this);
|
}.bind(this);
|
||||||
|
@ -336,8 +344,14 @@ export class VideoContainer extends LargeContainer {
|
||||||
* @param {string} videoType video type
|
* @param {string} videoType video type
|
||||||
*/
|
*/
|
||||||
setStream (stream, videoType) {
|
setStream (stream, videoType) {
|
||||||
|
|
||||||
if (this.stream === stream) {
|
if (this.stream === stream) {
|
||||||
|
// Handles the use case for the remote participants when the
|
||||||
|
// videoType is received with delay after turning on/off the
|
||||||
|
// desktop sharing.
|
||||||
|
if(this.videoType !== videoType) {
|
||||||
|
this.videoType = videoType;
|
||||||
|
this.resizeContainer();
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
// The stream has changed, so the image will be lost on detach
|
// The stream has changed, so the image will be lost on detach
|
||||||
|
|
Loading…
Reference in New Issue