WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
210932
getUserMedia returns OverConstrained on Jitsi
https://bugs.webkit.org/show_bug.cgi?id=210932
Summary
getUserMedia returns OverConstrained on Jitsi
Philippe Normand
Reported
2020-04-23 12:14:44 PDT
Because of this block of code:
https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp#L267
Any reason why lower-resolutions presets are not checked? Jitsi requires 1280x720 at 30fps but because of that, if my webcam doesn't support this, similar lower presets (same aspect-ratio) are dimissed. I don't understand why :)
Attachments
gUM constraints
(65.07 KB, image/png)
2020-04-24 09:21 PDT
,
Jaya
no flags
Details
failing gUM
(159.00 KB, image/png)
2020-04-24 10:22 PDT
,
Philippe Normand
no flags
Details
gUM works in Chrome
(197.67 KB, image/png)
2020-04-24 11:44 PDT
,
Philippe Normand
no flags
Details
gUM probe
(217.46 KB, image/png)
2020-04-24 13:58 PDT
,
Philippe Normand
no flags
Details
WIP
(1.56 KB, patch)
2020-06-26 09:42 PDT
,
Philippe Normand
no flags
Details
Formatted Diff
Diff
Patch
(18.62 KB, patch)
2020-07-02 01:44 PDT
,
youenn fablet
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Philippe Normand
Comment 1
2020-04-23 12:18:17 PDT
That's one of the reasons Jitsi (meet.jit.si) doesn't work well currently on Safari. It would be great to fix it, as it's quite widely used nowadays.
youenn fablet
Comment 2
2020-04-23 12:23:57 PDT
So, you would like WebKit to upsample? This seems sad but is doable... Maybe we should bring that issue to Jitsi.
Philippe Normand
Comment 3
2020-04-23 12:42:11 PDT
Well, I think that upsampled video is better than no video at all :)
Philippe Normand
Comment 4
2020-04-23 13:29:12 PDT
https://github.com/jitsi/jitsi-meet/issues/5425
Philippe Normand
Comment 5
2020-04-23 13:34:35 PDT
Another likely reproducer:
https://test.webrtc.org
Jaya
Comment 6
2020-04-23 15:22:30 PDT
Hey there, I am a Jitsi developer. We do use ideal constraints so I am surprised you are running into this issue. Here is the link to the line of code -
https://github.com/jitsi/lib-jitsi-meet/blob/master/modules/RTC/RTCUtils.js#L56
Can you pls provide me more details about the issue ? The github issue referenced in the above comment is a meta issue for all camera related bugs, I wasn't able to dig up your particular issue. Thank you !
Philippe Normand
Comment 7
2020-04-24 08:06:12 PDT
These are the constraints Jitsi currently requires for me: audioConstraints {"mandatoryConstraints":{},"advancedConstraints":[]} videoConstraints {"mandatoryConstraints":{"width":{"min":320,"max":1280,"ideal":1280},"height":{"min":180,"max":720,"ideal":720},"facingMode":{"exact":[],"ideal":["user"]}},"advancedConstraints":[]} This is a JSON internal serialization of the constraints... I can submit a patch if such feature is considered useful for logging.
Jaya
Comment 8
2020-04-24 09:21:56 PDT
Created
attachment 397461
[details]
gUM constraints
youenn fablet
Comment 9
2020-04-24 09:35:07 PDT
Seems like constraints that are ok, min is 320x280, ideal is 1280x720. I am not sure how we are hitting OverConstrained here.
youenn fablet
Comment 10
2020-04-24 09:35:25 PDT
navigator.mediaDevices.getUserMedia({video : {width:{"min":320,"max":1280,"ideal":1280},height:{"min":180,"max":720,"ideal":720}, facingMode: "user"} }) works for me locally.
Philippe Normand
Comment 11
2020-04-24 10:08:22 PDT
(In reply to youenn fablet from
comment #10
)
> navigator.mediaDevices.getUserMedia({video : > {width:{"min":320,"max":1280,"ideal":1280},height:{"min":180,"max":720, > "ideal":720}, facingMode: "user"} }) works for me locally.
What's your MBP model? On a early 2013 MBP, the gUM fails on Jitsi, I suppose because my webcam doesn't handle 720p at 30fps.
youenn fablet
Comment 12
2020-04-24 10:11:33 PDT
Mine is more recent but I am not sure it matters because Safari should process these constraints just fine as Lon as the web cam can provide 320x180. Can you try Safari Tech Preview maybe?
Philippe Normand
Comment 13
2020-04-24 10:22:35 PDT
Created
attachment 397465
[details]
failing gUM This is on Safari TP.
Philippe Normand
Comment 14
2020-04-24 10:25:48 PDT
navigator.mediaDevices.getUserMedia({video:{}}) works though ;)
youenn fablet
Comment 15
2020-04-24 11:16:58 PDT
(In reply to Philippe Normand from
comment #14
)
> navigator.mediaDevices.getUserMedia({video:{}}) works though ;)
Can you play a little bit with the constraints and reduce as much as possible? We should probably add a console log error message with the failing constraint.
Philippe Normand
Comment 16
2020-04-24 11:31:19 PDT
Any non-empty video constraint fails, basically. Even this: {video : {height:{"min":180}}}. The only working one I found so far is {video:{}}.
Philippe Normand
Comment 17
2020-04-24 11:44:13 PDT
Created
attachment 397477
[details]
gUM works in Chrome
Eric Carlson
Comment 18
2020-04-24 13:51:39 PDT
What does this produce: (async () => { try { const filter = ({width, height}) => ({width, height}); const stream = await navigator.mediaDevices.getUserMedia({video:{}}); const [track] = stream.getVideoTracks(); console.log(`Capabilities: ${JSON.stringify(filter(track.getCapabilities()), null, 2)}`); console.log(`Settings: ${JSON.stringify(filter(track.getSettings()), null, 2)}`); } catch(e) { console.log(e); } })();
Philippe Normand
Comment 19
2020-04-24 13:56:55 PDT
[Log] Capabilities: { "width": { "max": 1280, "min": 1 }, "height": { "max": 720, "min": 1 } } [Log] Settings: { "width": 640, "height": 480 }
Philippe Normand
Comment 20
2020-04-24 13:58:08 PDT
Created
attachment 397504
[details]
gUM probe
Philippe Normand
Comment 21
2020-04-27 10:03:13 PDT
(In reply to Philippe Normand from
comment #19
)
> [Log] Capabilities: { > "width": { > "max": 1280, > "min": 1 > }, > "height": { > "max": 720, > "min": 1 > } > } > [Log] Settings: { > "width": 640, > "height": 480 > }
Same on Chrome BTW. So is this a bug in the end?
Eric Carlson
Comment 22
2020-04-27 12:40:12 PDT
(In reply to Philippe Normand from
comment #21
)
> > Same on Chrome BTW. So is this a bug in the end?
It is definitely a bug if all non-empty video constraint fail.
Philippe Normand
Comment 23
2020-04-28 04:58:38 PDT
FWIW this isn't specific to the Mac port. Also happens in GTK.
Philippe Normand
Comment 24
2020-05-06 10:34:27 PDT
This yields no result in Safari TP: (async () => { for (let w = 1280; w > 0; w -= 10) { for (let h = 720; h > 0; h -= 10) { try { let stream = await navigator.mediaDevices.getUserMedia({ video: { width: { "min": w, "max": 1280, "ideal": w }, height: { "min": h, "max": 720, "ideal": h } } }); console.log("Success " + w + "x" + h); } catch (err) {} } } console.log("Done"); })();
Ribero
Comment 25
2020-06-02 01:58:38 PDT
Same situation in my context running: (async () => { try { const filter = ({width, height}) => ({width, height}); const stream = await navigator.mediaDevices.getUserMedia({video:{}}); const [track] = stream.getVideoTracks(); console.log(`Capabilities: ${JSON.stringify(filter(track.getCapabilities()), null, 2)}`); console.log(`Settings: ${JSON.stringify(filter(track.getSettings()), null, 2)}`); } catch(e) { console.log(e); } })(); with: MacBook Pro (Retina, mid-2012), macOS 10.14.6 / Safari 13.1 and 13.1.1 : [Log] Capabilities: { "width": { "max": 1280, "min": 1 }, "height": { "max": 720, "min": 1 } } [Log] Settings: { "width": 640, "height": 480 } iMac (Retina 4K, 21.5-inch, 2017), macOS 10.14.6 / Safari 13.1 and 13.1.1: [Log] Capabilities: { "width": { "max": 1280, "min": 1 }, "height": { "max": 720, "min": 1 } } [Log] Settings: { "width": 640, "height": 480 } and with an antique Mac Pro (beginning 2008), macOS 10.13.6 (17G66), Safari 13.0.4 (13608.4.9.1.4) + iSight : [Log] Capabilities: { "width": { "max": 640, "min": 1 }, "height": { "max": 480, "min": 1 } } [Log] Settings: { "width": 640, "height": 480 }
Jaya
Comment 26
2020-06-16 05:29:28 PDT
Any chance of this getting fixed ? We have more Jitsi users complaining about this issue. Specifying only ideal constraint and not specifying min/max values for width/height seem to work for some of the cases.
Radar WebKit Bug Importer
Comment 27
2020-06-16 05:42:07 PDT
<
rdar://problem/64403675
>
youenn fablet
Comment 28
2020-06-26 05:56:42 PDT
Philippe, if you have time to build WebKit Tot with
https://bugs.webkit.org/show_bug.cgi?id=213643
applied on your laptop, that might help. Or we can wait for STP to pick up this change.
Philippe Normand
Comment 29
2020-06-26 07:26:10 PDT
(In reply to youenn fablet from
comment #28
)
> Philippe, if you have time to build WebKit Tot with >
https://bugs.webkit.org/show_bug.cgi?id=213643
applied on your laptop, that > might help. Or we can wait for STP to pick up this change.
I'm not sure this will help, that patch doesn't log the call site I referred to in
comment 0
, afaics.
youenn fablet
Comment 30
2020-06-26 07:28:22 PDT
(In reply to Philippe Normand from
comment #0
)
> Because of this block of code: >
https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/platform/
> mediastream/RealtimeVideoCaptureSource.cpp#L267 > > Any reason why lower-resolutions presets are not checked?
We do not want to super-sample in general.
> Jitsi requires 1280x720 at 30fps but because of that, if my webcam doesn't > support this, similar lower presets (same aspect-ratio) are dimissed. I > don't understand why :)
It asks for 1280x720 but these are ideal constraints so normally, if it cannot be met, it should not result in an error.
youenn fablet
Comment 31
2020-06-26 07:29:07 PDT
> I'm not sure this will help, that patch doesn't log the call site I referred > to in
comment 0
, afaics.
It should log which constraint is failing and if this is a video wifth/height/frame rate constraint, the video presets available.
Philippe Normand
Comment 32
2020-06-26 07:35:00 PDT
Starting MiniBrowser. RealtimeVideoCaptureSource::bestSupportedSizeAndFrameRate failed supporting constraints 1280 720 30.000000 VideoPreset of size (2304,1536) and type 2 VideoPreset frame rate range [2.000000, 2.000000] VideoPreset of size (2304,1296) and type 2 VideoPreset frame rate range [2.000000, 2.000000] VideoPreset of size (1920,1080) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset of size (1600,896) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset of size (1280,720) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset of size (960,720) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset of size (1024,576) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset of size (800,600) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset of size (864,480) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset of size (800,448) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (640,480) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (640,360) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (432,240) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (352,288) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (320,240) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (320,180) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (176,144) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (160,120) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (160,90) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] Video capture was requested but no device was found amongst 1 devices IntConstraint 1, min 320, max 1280, exact -1, ideal 1280 IntConstraint 2, min 180, max 720, exact -1, ideal 720 MediaConstraint 5 of type 4 RealtimeVideoCaptureSource::bestSupportedSizeAndFrameRate failed supporting constraints 1280 720 30.000000 VideoPreset of size (2304,1536) and type 2 VideoPreset frame rate range [2.000000, 2.000000] VideoPreset of size (2304,1296) and type 2 VideoPreset frame rate range [2.000000, 2.000000] VideoPreset of size (1920,1080) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset of size (1600,896) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset of size (1280,720) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset of size (960,720) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset of size (1024,576) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset of size (800,600) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset of size (864,480) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset of size (800,448) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (640,480) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (640,360) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (432,240) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (352,288) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (320,240) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (320,180) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (176,144) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (160,120) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (160,90) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] Video capture was requested but no device was found amongst 1 devices IntConstraint 1, min 320, max 1280, exact -1, ideal 1280 IntConstraint 2, min 180, max 720, exact -1, ideal 720 MediaConstraint 10 of type 4
Philippe Normand
Comment 33
2020-06-26 07:35:51 PDT
That's GTK on my linux workstation, with a logitech C920 webcam.
Philippe Normand
Comment 34
2020-06-26 07:39:48 PDT
$ gst-device-monitor-1.0 Video/Source Probing devices... Device found: name : HD Pro Webcam C920 class : Video/Source caps : video/x-raw, format=(string)YUY2, width=(int)2304, height=(int)1536, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)2/1; video/x-raw, format=(string)YUY2, width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)2/1; video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)5/1; video/x-raw, format=(string)YUY2, width=(int)1600, height=(int)896, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)960, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)1024, height=(int)576, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)800, height=(int)600, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)864, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)800, height=(int)448, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)640, height=(int)360, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)432, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)320, height=(int)180, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)160, height=(int)120, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-raw, format=(string)YUY2, width=(int)160, height=(int)90, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)1600, height=(int)896, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)960, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)1024, height=(int)576, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)800, height=(int)600, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)864, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)800, height=(int)448, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)640, height=(int)360, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)432, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)320, height=(int)180, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)160, height=(int)120, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; image/jpeg, width=(int)160, height=(int)90, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1600, height=(int)896, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)960, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1024, height=(int)576, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)800, height=(int)600, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)864, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)800, height=(int)448, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)640, height=(int)360, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)432, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)320, height=(int)180, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)160, height=(int)120, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)160, height=(int)90, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 }; properties: device.path = /dev/video0 udev-probed = false device.api = v4l2 v4l2.device.driver = uvcvideo v4l2.device.card = "HD\ Pro\ Webcam\ C920" v4l2.device.bus_info = usb-0000:00:14.0-1 v4l2.device.version = 329235 (0x00050613) v4l2.device.capabilities = 2225078273 (0x84a00001) v4l2.device.device_caps = 69206017 (0x04200001) gst-launch-1.0 v4l2src ! ...
Philippe Normand
Comment 35
2020-06-26 07:41:52 PDT
I suppose this failure is kinda expected because the webcam doesn't support 1280x720@30 for raw video. But it would be nice to fallback to a smaller resolution. I can't test on my MBP now, I'll wait the Safari TP update.
youenn fablet
Comment 36
2020-06-26 07:50:30 PDT
Thanks, The issue might be that the width can go from 144 to 2304, so 1280 is fine, but frame rate cannot follow, hence the issue. I guess the issue is ideal constraints are not handled properly. (In reply to Philippe Normand from
comment #32
)
> Starting MiniBrowser. > RealtimeVideoCaptureSource::bestSupportedSizeAndFrameRate failed supporting > constraints 1280 720 30.000000 > VideoPreset of size (2304,1536) and type 2 > VideoPreset frame rate range [2.000000, 2.000000] > VideoPreset of size (2304,1296) and type 2 > VideoPreset frame rate range [2.000000, 2.000000] > VideoPreset of size (1920,1080) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset of size (1600,896) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset of size (1280,720) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset of size (960,720) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset of size (1024,576) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset of size (800,600) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset of size (864,480) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset of size (800,448) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (640,480) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (640,360) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (432,240) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (352,288) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (320,240) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (320,180) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (176,144) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (160,120) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (160,90) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > Video capture was requested but no device was found amongst 1 devices > IntConstraint 1, min 320, max 1280, exact -1, ideal 1280 > IntConstraint 2, min 180, max 720, exact -1, ideal 720 > MediaConstraint 5 of type 4 > RealtimeVideoCaptureSource::bestSupportedSizeAndFrameRate failed supporting > constraints 1280 720 30.000000 > VideoPreset of size (2304,1536) and type 2 > VideoPreset frame rate range [2.000000, 2.000000] > VideoPreset of size (2304,1296) and type 2 > VideoPreset frame rate range [2.000000, 2.000000] > VideoPreset of size (1920,1080) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset of size (1600,896) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset of size (1280,720) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset of size (960,720) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset of size (1024,576) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset of size (800,600) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset of size (864,480) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset of size (800,448) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (640,480) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (640,360) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (432,240) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (352,288) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (320,240) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (320,180) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (176,144) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (160,120) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > VideoPreset of size (160,90) and type 2 > VideoPreset frame rate range [5.000000, 5.000000] > VideoPreset frame rate range [7.500000, 7.500000] > VideoPreset frame rate range [10.000000, 10.000000] > VideoPreset frame rate range [15.000000, 15.000000] > VideoPreset frame rate range [20.000000, 20.000000] > VideoPreset frame rate range [24.000000, 24.000000] > VideoPreset frame rate range [30.000000, 30.000000] > Video capture was requested but no device was found amongst 1 devices > IntConstraint 1, min 320, max 1280, exact -1, ideal 1280 > IntConstraint 2, min 180, max 720, exact -1, ideal 720 > MediaConstraint 10 of type 4
youenn fablet
Comment 37
2020-06-26 08:20:06 PDT
In bool RealtimeMediaSource::supportsSizeAndFrameRate, we select width, height and frameRate independently and then try to apply them jointly. If it fails jointly, we are failing, but we should not with ideal constraints.
Philippe Normand
Comment 38
2020-06-26 09:42:38 PDT
Created
attachment 402875
[details]
WIP This crude patch works: Starting MiniBrowser. RealtimeVideoCaptureSource::bestSupportedSizeAndFrameRate failed supporting constraints 1280 720 30.000000 VideoPreset of size (2304,1536) and type 2 VideoPreset frame rate range [2.000000, 2.000000] VideoPreset of size (2304,1296) and type 2 VideoPreset frame rate range [2.000000, 2.000000] VideoPreset of size (1920,1080) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset of size (1600,896) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset of size (1280,720) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset of size (960,720) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset of size (1024,576) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset of size (800,600) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset of size (864,480) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset of size (800,448) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (640,480) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (640,360) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (432,240) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (352,288) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (320,240) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (320,180) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (176,144) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (160,120) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000] VideoPreset of size (160,90) and type 2 VideoPreset frame rate range [5.000000, 5.000000] VideoPreset frame rate range [7.500000, 7.500000] VideoPreset frame rate range [10.000000, 10.000000] VideoPreset frame rate range [15.000000, 15.000000] VideoPreset frame rate range [20.000000, 20.000000] VideoPreset frame rate range [24.000000, 24.000000] VideoPreset frame rate range [30.000000, 30.000000]
youenn fablet
Comment 39
2020-07-02 01:44:44 PDT
Created
attachment 403353
[details]
Patch
Philippe Normand
Comment 40
2020-07-02 02:55:57 PDT
Nice, I confirm this works here on Linux in Jitsi. I'd give a r+ but you didn't ask for it :)
youenn fablet
Comment 41
2020-07-02 04:23:47 PDT
(In reply to Philippe Normand from
comment #40
)
> Nice, I confirm this works here on Linux in Jitsi. I'd give a r+ but you > didn't ask for it :)
Here it is!
Philippe Normand
Comment 42
2020-07-02 06:56:51 PDT
Comment on
attachment 403353
[details]
Patch Thanks, Youenn :)
EWS
Comment 43
2020-07-02 07:05:34 PDT
Committed
r263844
: <
https://trac.webkit.org/changeset/263844
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 403353
[details]
.
Philippe Normand
Comment 44
2020-07-12 12:18:26 PDT
Works on Safari TP as well, btw :)
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug