* Skip adding providers if the camera has native WebRTC
* Update homeassistant/components/camera/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Implement suggestion
* Add tests
* Shorten test name
* Fix test
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add repair issue
* Add tests
* Add option to not use builtin go2rtc provider
* Add test
* Add domain to new providers
* Add learn more url
* Update placeholder
* Promote the builtin provider
* Refactor provider storage
* Move check for legacy provider conflict to refresh
* Test provider registration race
* Add test for registering the same legacy provider twice
* Test test_get_not_supported_legacy_provider
* Remove blank line between bullets
* Call it built-in
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Revert "Add option to not use builtin go2rtc provider"
This reverts commit 4e31bad6c0c23d5a1c0935c985351808a46163d6.
* Revert "Add test"
This reverts commit ddf85fd4db2c78b15c1cdc716804b965f3a1f4e3.
* Update issue description
* async_close_session is optional
* Clean up after rebase
* Add required domain property to provider tests
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
* 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 a stream_id parameter to the WebRTC provider
Add an additional stream id parameter (effectively, the camera entity id)
to allow updating an existing stream source when the strema changes. This
is useful for stream sources that have expiring URLs, like Nest.
* Redefine the provider using a type
* Use old typing methods for type definintion to pass python3.8 pylint
* Implement a webrtc to rtsp support in camera as a registry
Allow integrations to register a provider that can convert an RTSP stream and WebRTC offer to a WebRTC answer. This is
planned to be used by the RTSPtoWebRTC server integration as an initial pass, but could
support other server implementations as well (or even native implementationf or that matter).
* Fix test bug to improve test covergae and restructure statements
* Add missing call to refresh webrtc providers
* Run provider refresh in parallel since it may send RPCs
* Replace for loop with any
* Fix pylint warning to use a generator