From c6c44d1bdddaa789ebbcdc55f69ef6e3ed49aa35 Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Tue, 24 Mar 2026 03:51:22 +0100 Subject: [PATCH] feat: replace codec pills with VP9/H.264 HW, wire to hwOverdrive --- .../voice/ScreenShareSettingsPopover.tsx | 42 +++++++++++-------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/packages/web/src/components/voice/ScreenShareSettingsPopover.tsx b/packages/web/src/components/voice/ScreenShareSettingsPopover.tsx index d5690065..240a31e5 100644 --- a/packages/web/src/components/voice/ScreenShareSettingsPopover.tsx +++ b/packages/web/src/components/voice/ScreenShareSettingsPopover.tsx @@ -20,9 +20,9 @@ const MODES: { value: ScreenShareConfig['mode']; label: string }[] = [ { value: 'text', label: 'Text' }, ]; -const CODECS: { value: ScreenShareConfig['codec']; label: string }[] = [ - { value: 'vp9', label: 'VP9' }, - { value: 'h264', label: 'H.264' }, +const CODEC_OPTIONS = [ + { value: 'vp9' as const, label: 'VP9' }, + { value: 'hw' as const, label: 'H.264 HW' }, ]; function formatBitrate(bps: number): string { @@ -48,6 +48,8 @@ export function ScreenShareSettingsPopover({ open, onClose, anchorRef }: ScreenS const popoverRef = useRef(null); const config = useVoiceStore((s) => s.screenShareConfig); const setConfig = useVoiceStore((s) => s.setScreenShareConfig); + const hwOverdrive = useVoiceStore((s) => s.hwOverdrive); + const setHwOverdrive = useVoiceStore((s) => s.setHwOverdrive); const limits = useSettingsStore((s) => s.streamingLimits); const { style } = useFloatingPosition(anchorRef, popoverRef, { @@ -189,23 +191,27 @@ export function ScreenShareSettingsPopover({ open, onClose, anchorRef }: ScreenS Codec
- {CODECS.map((c) => ( - - ))} + {CODEC_OPTIONS.map((c) => { + const isHw = c.value === 'hw'; + const isSelected = isHw ? hwOverdrive : !hwOverdrive; + return ( + + ); + })}
- {config.codec !== 'vp9' && ( + {hwOverdrive && (
- Not recommended — uses slower software encoder + GPU hardware encoder · resets when stream ends
)}