1
0
mirror of https://github.com/home-assistant/core.git synced 2025-12-24 21:06:19 +00:00

Refactor stream worker responsibilities for segmenting into a separate class (#46563)

* Remove stream_worker dependencies on Stream

Removee stream_worker dependencies on Stream and split out the logic
for writing segments to a stream buffer.

* Stop calling internal stream methods

* Update homeassistant/components/stream/worker.py

Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>

* Reuse self._outputs when creating new streams

Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>
This commit is contained in:
Allen Porter
2021-02-15 09:52:37 -08:00
committed by GitHub
parent f2ca4acff0
commit 89aaeb3c35
3 changed files with 81 additions and 75 deletions

View File

@@ -198,7 +198,7 @@ async def async_decode_stream(hass, packets, py_av=None):
"homeassistant.components.stream.core.StreamOutput.put",
side_effect=py_av.capture_buffer.capture_output_segment,
):
stream_worker(hass, stream, threading.Event())
stream_worker(STREAM_SOURCE, {}, stream.outputs, threading.Event())
await hass.async_block_till_done()
return py_av.capture_buffer
@@ -210,7 +210,7 @@ async def test_stream_open_fails(hass):
stream.add_provider(STREAM_OUTPUT_FORMAT)
with patch("av.open") as av_open:
av_open.side_effect = av.error.InvalidDataError(-2, "error")
stream_worker(hass, stream, threading.Event())
stream_worker(STREAM_SOURCE, {}, stream.outputs, threading.Event())
await hass.async_block_till_done()
av_open.assert_called_once()