diff --git a/css/_filmstrip.scss b/css/_filmstrip.scss
index fc49b0395..5ea0ee36b 100644
--- a/css/_filmstrip.scss
+++ b/css/_filmstrip.scss
@@ -152,10 +152,7 @@
}
}
- /* With the TemasysWebRTC plugin element is used
- instead of */
- & > video,
- & > object {
+ & > video {
cursor: hand;
border-radius: $borderRadius;
object-fit: cover;
diff --git a/modules/UI/videolayout/LargeVideoManager.js b/modules/UI/videolayout/LargeVideoManager.js
index 62ca70dce..40da7bbd7 100644
--- a/modules/UI/videolayout/LargeVideoManager.js
+++ b/modules/UI/videolayout/LargeVideoManager.js
@@ -1,4 +1,4 @@
-/* global $, APP, JitsiMeetJS */
+/* global $, APP */
/* eslint-disable no-unused-vars */
import React from 'react';
import ReactDOM from 'react-dom';
@@ -29,14 +29,6 @@ import AudioLevels from '../audio_levels/AudioLevels';
const DESKTOP_CONTAINER_TYPE = 'desktop';
-/**
- * The time interval in milliseconds to check the video resolution of the video
- * being displayed.
- *
- * @type {number}
- */
-const VIDEO_RESOLUTION_POLL_INTERVAL = 2000;
-
/**
* Manager for all Large containers.
*/
@@ -103,30 +95,15 @@ export default class LargeVideoManager {
= this._onVideoResolutionUpdate.bind(this);
this.videoContainer.addResizeListener(this._onVideoResolutionUpdate);
-
- if (!JitsiMeetJS.util.RTCUIHelper.isResizeEventSupported()) {
- /**
- * An interval for polling if the displayed video resolution is or
- * is not high-definition. For browsers that do not support video
- * resize events, polling is the fallback.
- *
- * @private
- * @type {timeoutId}
- */
- this._updateVideoResolutionInterval = window.setInterval(
- this._onVideoResolutionUpdate,
- VIDEO_RESOLUTION_POLL_INTERVAL);
- }
}
/**
- * Stops any polling intervals on the instance and removes any
- * listeners registered on child components, including React Components.
+ * Removes any listeners registered on child components, including
+ * React Components.
*
* @returns {void}
*/
destroy() {
- window.clearInterval(this._updateVideoResolutionInterval);
this.videoContainer.removeResizeListener(
this._onVideoResolutionUpdate);
diff --git a/modules/UI/videolayout/LocalVideo.js b/modules/UI/videolayout/LocalVideo.js
index 13dafb5c7..d5909ae9a 100644
--- a/modules/UI/videolayout/LocalVideo.js
+++ b/modules/UI/videolayout/LocalVideo.js
@@ -258,11 +258,8 @@ LocalVideo.prototype._onContainerClick = function(event) {
= $source.parents('.displayNameContainer').length > 0;
const clickedOnPopover = $source.parents('.popover').length > 0
|| classList.contains('popover');
-
const ignoreClick = clickedOnDisplayName || clickedOnPopover;
- // FIXME: with Temasys plugin event arg is not an event, but the clicked
- // object itself, so we have to skip this call
if (event.stopPropagation && !ignoreClick) {
event.stopPropagation();
}
diff --git a/modules/UI/videolayout/RemoteVideo.js b/modules/UI/videolayout/RemoteVideo.js
index 41c3e6a21..b99cf61fe 100644
--- a/modules/UI/videolayout/RemoteVideo.js
+++ b/modules/UI/videolayout/RemoteVideo.js
@@ -158,14 +158,9 @@ RemoteVideo.prototype._generatePopupContent = function() {
}
}
- let initialVolumeValue, onVolumeChange;
-
- // Feature check for volume setting as temasys objects cannot adjust volume.
- if (this._canSetAudioVolume()) {
- initialVolumeValue = this._getAudioElement().volume;
- onVolumeChange = this._setAudioVolume;
- }
-
+ const initialVolumeValue
+ = this._audioStreamElement && this._audioStreamElement.volume;
+ const onVolumeChange = this._setAudioVolume;
const { isModerator } = APP.conference;
const participantID = this.id;
@@ -267,35 +262,14 @@ RemoteVideo.prototype._stopRemoteControl = function() {
this.updateRemoteVideoMenu();
};
-/**
- * Get the remote participant's audio element.
- *
- * @returns {Element} audio element
- */
-RemoteVideo.prototype._getAudioElement = function() {
- return this._audioStreamElement;
-};
-
-/**
- * Check if the remote participant's audio can have its volume adjusted.
- *
- * @returns {boolean} true if the volume can be adjusted.
- */
-RemoteVideo.prototype._canSetAudioVolume = function() {
- const audioElement = this._getAudioElement();
-
-
- return audioElement && audioElement.volume !== undefined;
-};
-
/**
* Change the remote participant's volume level.
*
* @param {int} newVal - The value to set the slider to.
*/
RemoteVideo.prototype._setAudioVolume = function(newVal) {
- if (this._canSetAudioVolume()) {
- this._getAudioElement().volume = newVal;
+ if (this._audioStreamElement) {
+ this._audioStreamElement.volume = newVal;
}
};
@@ -526,23 +500,18 @@ RemoteVideo.prototype.addRemoteStreamElement = function(stream) {
return;
}
- let streamElement = SmallVideo.createStreamElement(stream);
+ const streamElement = SmallVideo.createStreamElement(stream);
// Put new stream element always in front
UIUtils.prependChild(this.container, streamElement);
- // If we hide element when Temasys plugin is used then
- // we'll never receive 'onplay' event and other logic won't work as expected
- // NOTE: hiding will not have effect when Temasys plugin is in use, as
- // calling attach will show it back
$(streamElement).hide();
// If the container is currently visible
// we attach the stream to the element.
if (!isVideo || (this.container.offsetParent !== null && isVideo)) {
this.waitForPlayback(streamElement, stream);
-
- streamElement = stream.attach(streamElement);
+ stream.attach(streamElement);
}
if (!isVideo) {
diff --git a/modules/UI/videolayout/SmallVideo.js b/modules/UI/videolayout/SmallVideo.js
index 7d74441a5..29317ecd1 100644
--- a/modules/UI/videolayout/SmallVideo.js
+++ b/modules/UI/videolayout/SmallVideo.js
@@ -1,4 +1,4 @@
-/* global $, APP, JitsiMeetJS, interfaceConfig */
+/* global $, APP, interfaceConfig */
/* eslint-disable no-unused-vars */
import React from 'react';
@@ -34,8 +34,6 @@ const logger = require('jitsi-meet-logger').getLogger(__filename);
import UIUtil from '../util/UIUtil';
import UIEvents from '../../../service/UI/UIEvents';
-const RTCUIHelper = JitsiMeetJS.util.RTCUIHelper;
-
/**
* Display mode constant used when video is being displayed on the small video.
* @type {number}
@@ -240,8 +238,7 @@ SmallVideo.createStreamElement = function(stream) {
element.setAttribute('muted', 'true');
}
- RTCUIHelper.setAutoPlay(element, true);
-
+ element.autoplay = true;
element.id = SmallVideo.getStreamElementID(stream);
return element;
@@ -438,7 +435,7 @@ SmallVideo.prototype.removeModeratorIndicator = function() {
* array (after checking its length of course!).
*/
SmallVideo.prototype.selectVideoElement = function() {
- return $(RTCUIHelper.findVideoElement(this.container));
+ return $($(this.container).find('video')[0]);
};
/**
diff --git a/modules/UI/videolayout/VideoContainer.js b/modules/UI/videolayout/VideoContainer.js
index 271022cf9..87aef816d 100644
--- a/modules/UI/videolayout/VideoContainer.js
+++ b/modules/UI/videolayout/VideoContainer.js
@@ -186,7 +186,6 @@ function getDesktopVideoPosition(videoWidth, videoHeight, videoSpaceWidth) {
* Container for user video.
*/
export class VideoContainer extends LargeContainer {
- // FIXME: With Temasys we have to re-select everytime
/**
*
*/
@@ -277,10 +276,6 @@ export class VideoContainer extends LargeContainer {
this.wasVideoRendered = true;
}.bind(this);
- // This does not work with Temasys plugin - has to be a property to be
- // copied between new
-
-
);
}
diff --git a/react/features/device-selection/components/DeviceSelection.js b/react/features/device-selection/components/DeviceSelection.js
index 439d2148c..3812b8314 100644
--- a/react/features/device-selection/components/DeviceSelection.js
+++ b/react/features/device-selection/components/DeviceSelection.js
@@ -60,8 +60,7 @@ export type Props = {
/**
* Whether or not the audio output source selector should display. If
* true, the audio output selector and test audio link will not be
- * rendered. This is specifically used for hiding audio output on
- * temasys browsers which do not support such change.
+ * rendered.
*/
hideAudioOutputSelect: boolean,
diff --git a/react/features/unsupported-browser/components/UnsupportedDesktopBrowser.js b/react/features/unsupported-browser/components/UnsupportedDesktopBrowser.js
index e395106c1..64bc672c4 100644
--- a/react/features/unsupported-browser/components/UnsupportedDesktopBrowser.js
+++ b/react/features/unsupported-browser/components/UnsupportedDesktopBrowser.js
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { translate } from '../../base/i18n';
-import { HideNotificationBarStyle, Platform } from '../../base/react';
+import { Platform } from '../../base/react';
import { CHROME, FIREFOX, IE, SAFARI } from './browserLinks';
@@ -60,8 +60,6 @@ class UnsupportedDesktopBrowser extends Component<*> {
this._renderOSSpecificBrowserDownloadLink()
}
-
-
);
}
diff --git a/react/features/welcome/components/WelcomePage.web.js b/react/features/welcome/components/WelcomePage.web.js
index 716911b90..b38ff1c42 100644
--- a/react/features/welcome/components/WelcomePage.web.js
+++ b/react/features/welcome/components/WelcomePage.web.js
@@ -7,7 +7,7 @@ import React from 'react';
import { connect } from 'react-redux';
import { translate } from '../../base/i18n';
-import { HideNotificationBarStyle, Watermarks } from '../../base/react';
+import { Watermarks } from '../../base/react';
import { AbstractWelcomePage, _mapStateToProps } from './AbstractWelcomePage';
@@ -151,7 +151,6 @@ class WelcomePage extends AbstractWelcomePage {
ref = { this._setAdditionalContentRef } />
: null }
-
);
}