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 :)
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.
So, you would like WebKit to upsample? This seems sad but is doable... Maybe we should bring that issue to Jitsi.
Well, I think that upsampled video is better than no video at all :)
https://github.com/jitsi/jitsi-meet/issues/5425
Another likely reproducer: https://test.webrtc.org
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 !
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.
Created attachment 397461 [details] gUM constraints
Seems like constraints that are ok, min is 320x280, ideal is 1280x720. I am not sure how we are hitting OverConstrained here.
navigator.mediaDevices.getUserMedia({video : {width:{"min":320,"max":1280,"ideal":1280},height:{"min":180,"max":720,"ideal":720}, facingMode: "user"} }) works for me locally.
(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.
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?
Created attachment 397465 [details] failing gUM This is on Safari TP.
navigator.mediaDevices.getUserMedia({video:{}}) works though ;)
(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.
Any non-empty video constraint fails, basically. Even this: {video : {height:{"min":180}}}. The only working one I found so far is {video:{}}.
Created attachment 397477 [details] gUM works in Chrome
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); } })();
[Log] Capabilities: { "width": { "max": 1280, "min": 1 }, "height": { "max": 720, "min": 1 } } [Log] Settings: { "width": 640, "height": 480 }
Created attachment 397504 [details] gUM probe
(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?
(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.
FWIW this isn't specific to the Mac port. Also happens in GTK.
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"); })();
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 }
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.
<rdar://problem/64403675>
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.
(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.
(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.
> 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.
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
That's GTK on my linux workstation, with a logitech C920 webcam.
$ 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 ! ...
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.
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
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.
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]
Created attachment 403353 [details] Patch
Nice, I confirm this works here on Linux in Jitsi. I'd give a r+ but you didn't ask for it :)
(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!
Comment on attachment 403353 [details] Patch Thanks, Youenn :)
Committed r263844: <https://trac.webkit.org/changeset/263844> All reviewed patches have been landed. Closing bug and clearing flags on attachment 403353 [details].
Works on Safari TP as well, btw :)