|
@@ -31,6 +31,12 @@ class Conference extends Component<*> {
|
31
|
31
|
* @static
|
32
|
32
|
*/
|
33
|
33
|
static propTypes = {
|
|
34
|
+ /**
|
|
35
|
+ * Whether or not the current local user is recording the conference.
|
|
36
|
+ *
|
|
37
|
+ */
|
|
38
|
+ _isRecording: PropTypes.bool,
|
|
39
|
+
|
34
|
40
|
dispatch: PropTypes.func
|
35
|
41
|
};
|
36
|
42
|
|
|
@@ -92,14 +98,18 @@ class Conference extends Component<*> {
|
92
|
98
|
* @returns {ReactElement}
|
93
|
99
|
*/
|
94
|
100
|
render() {
|
95
|
|
- const { filmStripOnly } = interfaceConfig;
|
|
101
|
+ const { filmStripOnly, VIDEO_QUALITY_LABEL_DISABLED } = interfaceConfig;
|
|
102
|
+ const hideVideoQualityLabel = filmStripOnly
|
|
103
|
+ || VIDEO_QUALITY_LABEL_DISABLED
|
|
104
|
+ || this.props._isRecording;
|
96
|
105
|
|
97
|
106
|
return (
|
98
|
107
|
<div
|
99
|
108
|
id = 'videoconference_page'
|
100
|
109
|
onMouseMove = { this._onShowToolbar }>
|
101
|
110
|
<div id = 'videospace'>
|
102
|
|
- <LargeVideo />
|
|
111
|
+ <LargeVideo
|
|
112
|
+ hideVideoQualityLabel = { hideVideoQualityLabel } />
|
103
|
113
|
<Filmstrip filmstripOnly = { filmStripOnly } />
|
104
|
114
|
</div>
|
105
|
115
|
|
|
@@ -132,4 +142,20 @@ class Conference extends Component<*> {
|
132
|
142
|
}
|
133
|
143
|
}
|
134
|
144
|
|
135
|
|
-export default reactReduxConnect()(Conference);
|
|
145
|
+/**
|
|
146
|
+ * Maps (parts of) the Redux state to the associated props for the
|
|
147
|
+ * {@code Conference} component.
|
|
148
|
+ *
|
|
149
|
+ * @param {Object} state - The Redux state.
|
|
150
|
+ * @private
|
|
151
|
+ * @returns {{
|
|
152
|
+ * _isRecording: boolean
|
|
153
|
+ * }}
|
|
154
|
+ */
|
|
155
|
+function _mapStateToProps(state) {
|
|
156
|
+ return {
|
|
157
|
+ _isRecording: state['features/base/config'].iAmRecorder
|
|
158
|
+ };
|
|
159
|
+}
|
|
160
|
+
|
|
161
|
+export default reactReduxConnect(_mapStateToProps)(Conference);
|