* Add wait_for_next_keyframe option to stream images
Add STREAM_SNAPSHOT to CameraEntityFeature
Use wait_for_next_keyframe option for snapshots using stream
* Update stream test comments
* Add generic camera snapshot test
* Get stream still images directly in camera
Remove getting stream images from generic, nest, and ONVIF
Refactor camera preferences
Add use_stream_for_stills setting to camera
Update tests
* Only attempt to get stream image if integration supports stream
* Use property instead of entity registry setting
* Split out getting stream prerequisites from stream_source in nest
* Use cached_property for rtsp live stream trait
* Make rtsp live stream trait NestCamera attribute
* Update homeassistant/components/nest/camera.py
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* Change usage of async_timeout
* Change import formatting in generic/test_camera
* Simplify Nest camera property initialization
---------
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* Add visual preview during setup of generic camera
* Code review: standardize preview url
* Fix slug test
* Refactor to use HomeAssistantView
* Code review: simplify
* Update manifest
* Don't illegally access protected member
* Increase test coverage
* Prevent browser caching of preview images.
* Code review:move incrementor to ?t=X + simplify
* Discard old flow preview data
* Increase test coverage
* Code review: rename variables for clarity
* Add timeout for image previews
* Fix preview timeout tests
* Simplify: store cam image preview in config_flow
* Call step method to transition between flow steps
* Only store user_input in flow, not CameraObject
* Fix problem where test wouldn't run in isolation.
* Simplify test
* Don't move directly to another step's form
* Remove unused constant
* Simplify test
Co-authored-by: Dave T <davet2001@users.noreply.github.com>
* Add ability to use user & pw not in stream url
* Increase test coverage to 100%
* Increase test coverage
* Verify that stream source includes user:pass
* Code review: refactor test to use MockConfigEntry
* Code review: Improve test docstring
* Edit comment; retrigger CI.
Co-authored-by: Dave T <davet2001@users.noreply.github.com>
* Improve tests for generic camera
* Fix black error
* Code review: Move common code to fixtures
* Remove unnecessary patches from tests.
* Address review comments
* Code review: swap more patches for respx
* Code review: use _attr for frame interval.
* Change the API boundary between stream and camera
Shift more of the stream lifecycle management to the camera. The motivation is to support stream urls that expire
giving the camera the ability to change the stream once it is created.
* Document stream lifecycle and simplify stream/camera interaction
* Reorder create_stream function to reduce diffs
* Increase test coverage for camera_sdm.py
* Fix ffmpeg typo.
* Add a stream identifier for each stream, managed by camera
* Remove stream record service
* Update homeassistant/components/stream/__init__.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Unroll changes to Stream interface back into camera component
* Fix preload stream to actually start the background worker
* Reduce unncessary diffs for readability
* Remove redundant camera stream start code
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>