Note: See February 2016 update here.
Last October I did a post on some quirks I found when applying camera resolutions constraints with getUserMedia. Surprisingly I found the resolutions that were returned were sometimes different than what you ask for, even if you make your constraints mandatory. Firefox didn’t support programmable video resolution constraints at all.
That was a while ago, so earlier this summer I checked my getUserMedia camera resolution finder again. This time Chrome 36 passed all my tests:
|Ask||Chrome 30||Chrome 36|
|1280×720||pass: 1280×720||pass: 1280×720|
|960×720||pass: 960×720||pass: 960×720|
|640×480||pass: 640×480||pass: 640×480|
|640×360||fail: 320×180||pass: 640×360|
|320×240||pass: 320×240||pass: 320×240|
|320×180||fail: 160×88||pass: 320×180|
Constraint handling has clearly changed, but how? I could not find any coherent documentation on this, so I decided to update my resolution scanning code and re-run my analysis to empirically determine how mandatory constraints are handled. If you choose to read-on below, you’ll see much has been fixed, but there are still a few nagging issues.