Mark the speaker detection check as fixme

Chromium's fake microphone never registers as a speaker at the SFU, and Firefox's steady tone does so in about two runs out of three, with or without the browser's audio processing. The test stays, out of the gate, until the dev SFU gets a lower speaker threshold or the harness a louder fake device.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Timo K.
2026-10-08 13:53:57 +02:00
co-authored by Claude Fable 5.1
parent 6bd6e3f953
commit cad00aef08
3 changed files with 17 additions and 18 deletions
+7 -6
View File
@@ -272,12 +272,13 @@ The fakes come from `sdk/src/utils/test.ts` (`mockRemoteParticipant`) and the
### End-to-end
`playwright/sdk/media.spec.ts` gains one test: the peer's `audio` element reaches
`data-active="true"`, then `"false"` after the Microphone button is clicked. The
fake capture device Playwright gives Chromium emits a tone, which the SFU's speaker
detection picks up, so the signal is real end to end. Firefox's fake device also
produces sound; if its level stays under the SFU threshold the test is skipped
there with a comment saying why, not loosened. The existing five tests run as they
are.
`data-active="true"` after a mute and unmute, and `"false"` while muted. It is
marked `fixme`: Chromium's fake microphone never registers as a speaker at the
SFU, and Firefox's steady tone does so in about two runs out of three, with or
without the browser's audio processing. It passed four times in six, which proves
the pipeline, and it stays out of the gate until the dev SFU gets a lower
speaker threshold or the harness a louder fake device. The existing five tests
run as they are.
## Order of work
+3 -2
View File
@@ -665,8 +665,9 @@ members, an `<audio>` from the `"microphone"` track, both picked out of
Every media element carries the track's state as `data-*` attributes (`muted`,
`encrypted`, `active`, `frameWidth`, `frames`), which is what the tests read to
check mute propagation, encryption, speaker detection, adaptive resolution and
paused subscriptions. That is more
check mute propagation, encryption, adaptive resolution and paused subscriptions
(the speaker detection check is a `fixme`: the fake microphones do not reliably
register at the SFU). That is more
than the smallest consumer needs, and the price of testing the SDK through its
public API only.