// Deprecated. WebMediaConstraints create(const Dictionary& constraintsDictionary, MediaErrorState& errorState) { WebVector<WebMediaConstraint> optional; WebVector<WebMediaConstraint> mandatory; if (!parse(constraintsDictionary, optional, mandatory)) { errorState.throwTypeError("Malformed constraints object."); return WebMediaConstraints(); } return createFromNamedConstraints(mandatory, optional, errorState); }
WebMediaConstraints create(const MediaTrackConstraintSet& constraintsIn, MediaErrorState& errorState) { WebMediaConstraints constraints; WebMediaTrackConstraintSet constraintBuffer; WebVector<WebMediaTrackConstraintSet> advancedBuffer; copyConstraints(constraintsIn, constraintBuffer); // TODO(hta): Add initialization of advanced constraints once present. // https://crbug.com/253412 if (constraintsIn.hasOptional() || constraintsIn.hasMandatory()) { if (!constraintBuffer.isEmpty()) { errorState.throwTypeError("Malformed constraint: Cannot use both optional/mandatory and specific constraints."); return WebMediaConstraints(); } WebVector<WebMediaConstraint> optional; WebVector<WebMediaConstraint> mandatory; if (!parse(constraintsIn, optional, mandatory)) { errorState.throwTypeError("Malformed constraints object."); return WebMediaConstraints(); } return createFromNamedConstraints(mandatory, optional, errorState); } constraints.initialize(constraintBuffer, advancedBuffer); return constraints; }