Skip to content
This repository was archived by the owner on Jun 7, 2021. It is now read-only.

Commit 71dcd6c

Browse files
committed
Added snapshot property and per-client generator
1 parent 066956c commit 71dcd6c

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

example/mjpeg-stream.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,11 @@ async def stream_generator(self):
9494
# Delay by interval before checking for next frame
9595
await asyncio.sleep(interval)
9696

97+
async def snapshot(self):
98+
if not self.running:
99+
self._start_runner()
100+
await self.event.wait()
101+
return self.stream.getvalue()
97102

98103
def make_thing():
99104
stream_generator = StreamGenerator()
@@ -105,11 +110,24 @@ def make_thing():
105110
"A web connected lamp",
106111
)
107112

113+
thing.add_property(
114+
Property(
115+
thing,
116+
"snapshot",
117+
Value(None, stream_generator.snapshot, None),
118+
metadata={
119+
"title": "Snapshot",
120+
"readOnly": True
121+
},
122+
content_type="image/jpeg",
123+
)
124+
)
125+
108126
thing.add_property(
109127
Property(
110128
thing,
111129
"stream",
112-
Value(stream_generator.stream_generator()),
130+
Value(None, stream_generator.stream_generator, None),
113131
metadata={
114132
"title": "Stream",
115133
"readOnly": True

0 commit comments

Comments
 (0)