Implement voice broadcast playback buffering (#9435)

Co-authored-by: Kerry <kerrya@element.io>
This commit is contained in:
Michael Weimann 2022-10-17 17:35:13 +02:00 committed by GitHub
parent 877c95df8f
commit 788dd904b7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 201 additions and 22 deletions

View file

@ -20,7 +20,9 @@ import {
PlaybackControlButton,
VoiceBroadcastHeader,
VoiceBroadcastPlayback,
VoiceBroadcastPlaybackState,
} from "../..";
import Spinner from "../../../components/views/elements/Spinner";
import { useVoiceBroadcastPlayback } from "../../hooks/useVoiceBroadcastPlayback";
interface VoiceBroadcastPlaybackBodyProps {
@ -38,6 +40,10 @@ export const VoiceBroadcastPlaybackBody: React.FC<VoiceBroadcastPlaybackBodyProp
playbackState,
} = useVoiceBroadcastPlayback(playback);
const control = playbackState === VoiceBroadcastPlaybackState.Buffering
? <Spinner />
: <PlaybackControlButton onClick={toggle} state={playbackState} />;
return (
<div className="mx_VoiceBroadcastPlaybackBody">
<VoiceBroadcastHeader
@ -47,10 +53,7 @@ export const VoiceBroadcastPlaybackBody: React.FC<VoiceBroadcastPlaybackBodyProp
showBroadcast={true}
/>
<div className="mx_VoiceBroadcastPlaybackBody_controls">
<PlaybackControlButton
onClick={toggle}
state={playbackState}
/>
{ control }
</div>
</div>
);