From 5c1f3e8ab5c7efaeb10398fe2262625b71c712df Mon Sep 17 00:00:00 2001 From: streamkit-devin Date: Sun, 23 Aug 2026 16:22:05 +0000 Subject: [PATCH] fix(ui): configure microphone Opus encoder Signed-off-by: streamkit-devin --- ui/src/stores/streamStoreHelpers.test.ts | 11 +++++++++-- ui/src/stores/streamStoreHelpers.ts | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ui/src/stores/streamStoreHelpers.test.ts b/ui/src/stores/streamStoreHelpers.test.ts index 4b90c5b0..9db1a781 100644 --- a/ui/src/stores/streamStoreHelpers.test.ts +++ b/ui/src/stores/streamStoreHelpers.test.ts @@ -996,7 +996,10 @@ describe('performConnect', () => { const catalog = createMockSignal( catalogReady ? { ready: true } : undefined ); - const audioEncoderInputs: { enabled?: { peek(): boolean } }[] = []; + const audioEncoderInputs: { + enabled?: { peek(): boolean }; + codec?: { mime: string; usedtx?: boolean }; + }[] = []; asMock(Publish.Source.Microphone).mockImplementation(function () { return { out: { source: micSource }, close: vi.fn() }; @@ -1012,7 +1015,10 @@ describe('performConnect', () => { }); asMock(Publish.Audio.Encoder).mockImplementation(function ( _name: string, - inputs: { enabled?: { peek(): boolean } } + inputs: { + enabled?: { peek(): boolean }; + codec?: { mime: string; usedtx?: boolean }; + } ) { audioEncoderInputs.push(inputs); return { close: vi.fn() }; @@ -1143,6 +1149,7 @@ describe('performConnect', () => { // desync caused by VP9 encoder startup). expect(audioEncoderInputs).toHaveLength(1); expect(audioEncoderInputs[0]?.enabled?.peek()).toBe(true); + expect(audioEncoderInputs[0]?.codec).toEqual({ mime: 'opus', usedtx: false }); }); it('sets micStatus to requesting when mic source is initially unavailable', async () => { diff --git a/ui/src/stores/streamStoreHelpers.ts b/ui/src/stores/streamStoreHelpers.ts index a1142028..52fe96d2 100644 --- a/ui/src/stores/streamStoreHelpers.ts +++ b/ui/src/stores/streamStoreHelpers.ts @@ -745,6 +745,7 @@ function createPublishEncoders( broadcast, enabled: audioEnabled, source: microphone.source, + codec: { mime: 'opus', usedtx: false }, }), }; }