Add setting to AppRTCMobile for iOS, that can change capture resolution.

To achieve this, several changes needed to be made on both UI and
app logic level.
* Settings view controller is added (modally shown when the settings
button is pressed).
	- From there the user can see the current capture resolution
and select another capture resolution.
* Model class for the capture resolution added.
	- Improves readability and makes separation of concerns cleaner
	- Handles persisting
	- Provides defaults
	- Maps video resolution setting to RTCMediaConstraints dictionary
* Test for the model class

In future it would be possible to extend this CL and add further settings (i.e
bit rate).
Also it would be easy to remove the hardcoded resolutions and use dynamic values
depending on device capability.

BUG=webrtc:6473

Review-Url: https://codereview.webrtc.org/2462623002
Cr-Commit-Position: refs/heads/master@{#14881}
13 files changed
tree: 1afc425ac53e38621eb091f22bf8af9f8ca2d2e8
  1. build_overrides/
  2. chromium/
  3. data/
  4. infra/
  5. resources/
  6. third_party/
  7. tools/
  8. webrtc/
  9. .clang-format
  10. .git-blame-ignore-revs
  11. .gitignore
  12. .gn
  13. all.gyp
  14. AUTHORS
  15. BUILD.gn
  16. check_root_dir.py
  17. codereview.settings
  18. DEPS
  19. LICENSE
  20. license_template.txt
  21. LICENSE_THIRD_PARTY
  22. OWNERS
  23. PATENTS
  24. PRESUBMIT.py
  25. pylintrc
  26. README.md
  27. setup_links.py
  28. sync_chromium.py
  29. WATCHLISTS
README.md

WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.

Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.

The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.

Development

See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.

More info