[Webkit-unassigned] [Bug 275165] New: REGRESSION(278498 at main) [GStreamer][Skia] getUserMedia(deviceID) frequently freezing in media stream tests under debug
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jun 5 09:01:31 PDT 2024
https://bugs.webkit.org/show_bug.cgi?id=275165
Bug ID: 275165
Summary: REGRESSION(278498 at main) [GStreamer][Skia]
getUserMedia(deviceID) frequently freezing in media
stream tests under debug
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Media
Assignee: webkit-unassigned at lists.webkit.org
Reporter: lmoura at igalia.com
Created attachment 471594
--> https://bugs.webkit.org/attachment.cgi?id=471594&action=review
GST_DEBUG=2 output of running the test
Affects multiple MediaStream-related tests, leading to early exits on both GTK and WPE debug bots since early May 2024.
Bisecting with fast/mediastream/get-user-media-device-id.html led to 278498 at main, the commit enabling Skia by default in place of Cairo. And indeed building WebKit with `--cmakeargs=-DUSE_SKIA=0` makes the test pass even in that commit.
Further investigation of the test shows it's getting stuck in the last test case of this file, "Ideal deviceId constraints":
```
await navigator.mediaDevices.getUserMedia({video: true});
const devices = await navigator.mediaDevices.enumerateDevices();
for (let device of devices) {
if (device.kind === "audioinput") {
const stream = await navigator.mediaDevices.getUserMedia({audio: {deviceId: device.deviceId}});
assert_equals(stream.getAudioTracks()[0].getSettings().deviceId, device.deviceId, "Matching audio device id");
} else if (device.kind === "videoinput") {
const stream = await navigator.mediaDevices.getUserMedia({video: {deviceId: device.deviceId}});
assert_equals(stream.getVideoTracks()[0].getSettings().deviceId, device.deviceId, "Matching video device id");
}
}
```
The test is getting stuck in one of the `await navigator.mediaDevices.getUserMedia(...)` inside the loop, trying to access a specific deviceID, sometimes a video device, sometimes an audio device.
Running with `GST_DEBUG=2` showed these lines among others, not sure if related (full log attached)
```
0:00:01.009301531 47 0x588f78236650 ERROR pulse pulsedeviceprovider.c:466:gst_pulse_device_provider_probe:<pulsedeviceprovider0> Failed to connect: Invalid argument
Audio capture was requested but no device was found amongst 3 devices
BooleanConstraint 9, exact -1, ideal 1
MediaConstraint 10 of type 3
Audio capture was requested but no device was found amongst 3 devices
BooleanConstraint 9, exact -1, ideal 1
MediaConstraint 10 of type 3
```
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240605/8c007ab5/attachment-0001.htm>
More information about the webkit-unassigned
mailing list