Handle any exception in Camera.setPreviewTexture.

On Meizu devices (and maybe on other devices too) when camera is
disallowed in settings `android.hardware.Camera.open` returns
non-null Camera instance, but when any method is invoked on `Camera`
instance the `RuntimeException` is thrown. It claims that Camera
instance is used after `release()` was invoked on that instance.
`Camera1Session.open` didn't handle that case and crashed whole
application when returned Camera instance was already released or
more likely was not even properly initialized during `Camera.open`.

Bug: webrtc:8685
Change-Id: I5cda397a599e87971bf9a4bd3faf6fc4a0d198f3
Reviewed-on: https://webrtc-review.googlesource.com/36300
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21556}
1 file changed
tree: 3f1b8856855727e5a91c8cd30dcc2b821c51c0a9
  1. api/
  2. audio/
  3. build_overrides/
  4. call/
  5. common_audio/
  6. common_video/
  7. data/
  8. examples/
  9. infra/
  10. logging/
  11. media/
  12. modules/
  13. ortc/
  14. p2p/
  15. pc/
  16. resources/
  17. rtc_base/
  18. rtc_tools/
  19. sdk/
  20. stats/
  21. system_wrappers/
  22. test/
  23. tools_webrtc/
  24. video/
  25. voice_engine/
  26. .clang-format
  27. .git-blame-ignore-revs
  28. .gitignore
  29. .gn
  30. .vpython
  31. AUTHORS
  32. BUILD.gn
  33. CODE_OF_CONDUCT.md
  34. codereview.settings
  35. common_types.cc
  36. common_types.h
  37. DEPS
  38. LICENSE
  39. license_template.txt
  40. LICENSE_THIRD_PARTY
  41. native-api.md
  42. OWNERS
  43. PATENTS
  44. PRESUBMIT.py
  45. presubmit_test.py
  46. presubmit_test_mocks.py
  47. pylintrc
  48. README.chromium
  49. README.md
  50. style-guide.md
  51. typedefs.h
  52. WATCHLISTS
  53. webrtc.gni
  54. whitespace.txt
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.

Development

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

Authoritative list of directories that contain the native API header files.

More info