{"json_modified": "2016-10-19T19:40:58.279003", "uuid": "914a2138-61c3-4761-b1be-303ba7ee8ae2", "title": "Capabilities, constraints, and settings", "url": "/en-US/docs/Web/API/Media_Streams_API/Constraints", "tags": ["video", "WebRTC", "Guide", "Constraints", "Media Streams API", "Settings", "Video", "Audio", "Example", "Advanced", "Media Capture and Streams API", "Media", "audio"], "translations": [], "modified": "2016-10-19T19:40:58", "label": "Capabilities, constraints, and settings", "localization_tags": [], "locale": "en-US", "id": 196035, "last_edit": "2016-10-19T19:40:44", "summary": "The twin concepts of constraints and capabilies let the browser and Web site or app exchange information about what constrainable properties the browser's implementation supports and what values it supports for each one. This article discusses capabilities and constraints, as well as media settings, and includes an example we call the Example: Constraint exerciser, which you can use to experiment with the results of different constraint sets being applied to the audio and video tracks coming from the computer's A/V input devices (such as its webcam and microphone).", "sections": [{"id": "Quick_Links", "title": null}, {"id": "Overview", "title": "Overview"}, {"id": "Determining_if_a_constraint_is_supported", "title": "Determining if a constraint is supported"}, {"id": "How_constraints_are_defined", "title": "How constraints are defined"}, {"id": "Requesting_a_specific_value_for_a_setting", "title": "Requesting a specific value for a setting"}, {"id": "Specifying_a_range_of_values", "title": "Specifying a range of values"}, {"id": "Advanced_constraints", "title": "Advanced constraints"}, {"id": "Checking_capabilities", "title": "Checking capabilities"}, {"id": "Applying_constraints", "title": "Applying constraints"}, {"id": "Retrieving_current_constraints_and_settings", "title": "Retrieving current constraints and settings"}, {"id": "Getting_the_constraints_in_effect", "title": "Getting the constraints in effect"}, {"id": "Getting_the_current_settings_for_a_track", "title": "Getting the current settings for a track"}, {"id": "Example_Constraint_exerciser", "title": "Example: Constraint exerciser"}, {"id": "HTML_content", "title": "HTML content"}, {"id": "CSS_content", "title": "CSS content"}, {"id": "JavaScript_content", "title": "JavaScript content"}, {"id": "Defaults_and_variables", "title": "Defaults and variables"}, {"id": "Updating_the_settings_display", "title": "Updating the settings display"}, {"id": "Building_the_track_constraint_set_objects", "title": "Building the track constraint set objects"}, {"id": "Configuring_and_starting_the_stream", "title": "Configuring and starting the stream"}, {"id": "Applying_constraint_set_updates", "title": "Applying constraint set updates"}, {"id": "Handling_the_stop_button", "title": "Handling the stop button"}, {"id": "Simple_tab_support_in_the_editor", "title": "Simple tab support in the editor"}, {"id": "Show_constrainable_properties_the_browser_supports", "title": "Show constrainable properties the browser supports"}, {"id": "Error_handling", "title": "Error handling"}, {"id": "Result", "title": "Result"}, {"id": "Specifications", "title": "Specifications"}, {"id": "Browser_compatibility", "title": "Browser compatibility"}, {"id": "See_also", "title": "See also"}], "slug": "Web/API/Media_Streams_API/Constraints", "review_tags": []}