diff --git a/src/graphics/video-placeholder.gif b/src/graphics/video-placeholder.gif new file mode 100644 index 000000000..db8d3841b Binary files /dev/null and b/src/graphics/video-placeholder.gif differ diff --git a/src/room/VideoPreview.tsx b/src/room/VideoPreview.tsx index 3efcaba10..e6e54370b 100644 --- a/src/room/VideoPreview.tsx +++ b/src/room/VideoPreview.tsx @@ -14,6 +14,7 @@ import { useTranslation } from "react-i18next"; import { TileAvatar } from "../tile/TileAvatar"; import styles from "./VideoPreview.module.css"; import { type EncryptionSystem } from "../e2ee/sharedKeyManagement"; +import videoPlaceholder from "../graphics/video-placeholder.gif"; export type MatrixInfo = { userId: string; @@ -74,6 +75,9 @@ export const VideoPreview: FC = ({ // There's no reason for this to be focusable tabIndex={-1} disablePictureInPicture + // Set the placeholder to a small transparent image. (On Android web + // views the default poster image is particularly ugly.) + poster={videoPlaceholder} /> {(!videoEnabled || cameraIsStarting) && ( <> diff --git a/src/room/__snapshots__/LobbyView.test.tsx.snap b/src/room/__snapshots__/LobbyView.test.tsx.snap index d306e24ab..f3352a6ec 100644 --- a/src/room/__snapshots__/LobbyView.test.tsx.snap +++ b/src/room/__snapshots__/LobbyView.test.tsx.snap @@ -49,6 +49,7 @@ exports[`LobbyView > renders with AppBar android 1`] = `