31 lines
1022 B
JavaScript
31 lines
1022 B
JavaScript
import { VIDEO_MUTISM_AUTHORITY } from './constants';
|
|
|
|
/**
|
|
* Determines whether a specific videoTrack should be rendered.
|
|
*
|
|
* @param {Track} videoTrack - The video track which is to be rendered.
|
|
* @param {boolean} waitForVideoStarted - True if the specified videoTrack
|
|
* should be rendered only after its associated video has started;
|
|
* otherwise, false.
|
|
* @returns {boolean} True if the specified videoTrack should be renderd;
|
|
* otherwise, false.
|
|
*/
|
|
export function shouldRenderVideoTrack(videoTrack, waitForVideoStarted) {
|
|
return (
|
|
videoTrack
|
|
&& !videoTrack.muted
|
|
&& (!waitForVideoStarted || videoTrack.videoStarted));
|
|
}
|
|
|
|
/**
|
|
* Checks if video is currently muted by the user authority.
|
|
*
|
|
* @param {Object} store - The redux store instance.
|
|
* @returns {boolean}
|
|
*/
|
|
export function isVideoMutedByUser({ getState }) {
|
|
return Boolean(
|
|
getState()['features/base/media'] // eslint-disable-line no-bitwise
|
|
.video.muted & VIDEO_MUTISM_AUTHORITY.USER);
|
|
}
|