Fix hiding video breaking playback
Also make the video player code closer to upstream
This commit is contained in:
parent
2ef353dd7a
commit
0b30bdedf6
1 changed files with 16 additions and 12 deletions
|
@ -281,9 +281,9 @@ class Video extends React.PureComponent {
|
|||
|
||||
togglePlay = () => {
|
||||
if (this.state.paused) {
|
||||
this.video.play();
|
||||
this.setState({ paused: false }, () => this.video.play());
|
||||
} else {
|
||||
this.video.pause();
|
||||
this.setState({ paused: true }, () => this.video.pause());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -381,13 +381,16 @@ class Video extends React.PureComponent {
|
|||
}
|
||||
|
||||
toggleMute = () => {
|
||||
this.video.muted = !this.video.muted;
|
||||
this.setState({ muted: this.video.muted });
|
||||
const muted = !this.video.muted;
|
||||
|
||||
this.setState({ muted }, () => {
|
||||
this.video.muted = muted;
|
||||
});
|
||||
}
|
||||
|
||||
toggleReveal = () => {
|
||||
if (this.state.revealed) {
|
||||
this.video.pause();
|
||||
this.setState({ paused: true });
|
||||
}
|
||||
|
||||
if (this.props.onToggleVisibility) {
|
||||
|
@ -475,13 +478,6 @@ class Video extends React.PureComponent {
|
|||
return (<div className={computedClass} ref={this.setPlayerRef} tabindex={0}></div>);
|
||||
}
|
||||
|
||||
let warning;
|
||||
if (sensitive) {
|
||||
warning = <FormattedMessage id='status.sensitive_warning' defaultMessage='Sensitive content' />;
|
||||
} else {
|
||||
warning = <FormattedMessage id='status.media_hidden' defaultMessage='Media hidden' />;
|
||||
}
|
||||
|
||||
let preload;
|
||||
|
||||
if (this.props.currentTime || fullscreen || dragging) {
|
||||
|
@ -492,6 +488,14 @@ class Video extends React.PureComponent {
|
|||
preload = 'none';
|
||||
}
|
||||
|
||||
let warning;
|
||||
|
||||
if (sensitive) {
|
||||
warning = <FormattedMessage id='status.sensitive_warning' defaultMessage='Sensitive content' />;
|
||||
} else {
|
||||
warning = <FormattedMessage id='status.media_hidden' defaultMessage='Media hidden' />;
|
||||
}
|
||||
|
||||
return (
|
||||
<div
|
||||
className={computedClass}
|
||||
|
|
Loading…
Reference in a new issue