MediaStreamConstraints[Impl] assumes that mandatory constraints will be an object with key/values pairs, where the values are strings or numbers. They assume that optional constrains will be an array of the same. The MediaStream spec actually allows these values a key/value pair, for example to list specify a minimum or maximum. An example from the spec: { mandatory: { width: { min: 640 }, height: { min: 480 } }, optional: [ { width: 650 }, { width: { min: 650 }}, { frameRate: 60 }, { width: { max: 800 }}, { facingMode: "user" } ] } http://dev.w3.org/2011/webrtc/editor/getusermedia.html#dictionary-mediatrackconstraints-members
This was fixed by bug 161715 and bug 161469