python-aidot-cameras 0.7.1__tar.gz → 0.7.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_aidot_cameras-0.7.1/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.7.2}/PKG-INFO +1 -1
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/pyproject.toml +1 -1
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/camera/client.py +12 -6
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2/src/python_aidot_cameras.egg-info}/PKG-INFO +1 -1
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/LICENSE +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/README.md +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/setup.cfg +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/__init__.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/aes_utils.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/camera/__init__.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/camera/lan_control.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/client.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/const.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/credentials.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/device_client.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/discover.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/exceptions.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/g711.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/login_const.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/models/__init__.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/models/device_client_model.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/models/device_model.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/models/discover_model.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/python_aidot_cameras.egg-info/SOURCES.txt +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/python_aidot_cameras.egg-info/dependency_links.txt +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/python_aidot_cameras.egg-info/requires.txt +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/python_aidot_cameras.egg-info/top_level.txt +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_alarm_event.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_highport_nomination.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_lan_control.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_motion_poll.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_no_undefined_names.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_post_merge_hardening.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_sdes_idle_release.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_sdes_sprop.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_sdes_talk.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_sdes_watchdog.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_speak.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_stream_cap.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_talk.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_terminal_ack.py +0 -0
- {python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_token_refresh.py +0 -0
{python_aidot_cameras-0.7.1/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.7.2}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-aidot-cameras
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.2
|
|
4
4
|
Summary: Control AiDot/Leedarson WiFi lights and cameras (WebRTC streaming, two-way audio, PTZ, controls)
|
|
5
5
|
Author-email: cbrightly <chris.brightly@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "python-aidot-cameras"
|
|
7
|
-
version = "0.7.
|
|
7
|
+
version = "0.7.2"
|
|
8
8
|
description = "Control AiDot/Leedarson WiFi lights and cameras (WebRTC streaming, two-way audio, PTZ, controls)"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -2204,7 +2204,7 @@ def _dtls_av_mux_run(vq, aq, out_fileobj, progress, stop_flag) -> None:
|
|
|
2204
2204
|
except Exception:
|
|
2205
2205
|
pass
|
|
2206
2206
|
|
|
2207
|
-
def _flush_audio():
|
|
2207
|
+
def _flush_audio(drain=False):
|
|
2208
2208
|
if not have_audio:
|
|
2209
2209
|
try:
|
|
2210
2210
|
while True:
|
|
@@ -2247,10 +2247,16 @@ def _dtls_av_mux_run(vq, aq, out_fileobj, progress, stop_flag) -> None:
|
|
|
2247
2247
|
while True:
|
|
2248
2248
|
fr = fifo.read(1024) # AAC wants 1024-sample frames
|
|
2249
2249
|
if fr is None:
|
|
2250
|
-
#
|
|
2251
|
-
#
|
|
2252
|
-
#
|
|
2253
|
-
#
|
|
2250
|
+
# FIFO has < 1024 samples. The audio source is continuous
|
|
2251
|
+
# (measured: 100% timeline coverage, no lost packets), so the
|
|
2252
|
+
# remainder must stay in the FIFO and be completed by the next
|
|
2253
|
+
# decoded packet - NOT padded with silence here. Padding on
|
|
2254
|
+
# every 5 ms flush injected a micro-silence whenever the FIFO was
|
|
2255
|
+
# momentarily short (almost always, given ~40 ms packet spacing) -
|
|
2256
|
+
# that was the choppiness. Only on the final drain do we pad the
|
|
2257
|
+
# last partial frame so the encoder can flush it.
|
|
2258
|
+
if not drain:
|
|
2259
|
+
break
|
|
2254
2260
|
s = getattr(fifo, "samples", 0)
|
|
2255
2261
|
if s == 0:
|
|
2256
2262
|
break
|
|
@@ -2288,7 +2294,7 @@ def _dtls_av_mux_run(vq, aq, out_fileobj, progress, stop_flag) -> None:
|
|
|
2288
2294
|
_flush_audio()
|
|
2289
2295
|
_t.sleep(0.005) # 5 ms - processes audio within 5 ms of arrival vs 20 ms
|
|
2290
2296
|
_flush_video()
|
|
2291
|
-
_flush_audio()
|
|
2297
|
+
_flush_audio(drain=True) # final: pad the last partial frame so it flushes
|
|
2292
2298
|
try:
|
|
2293
2299
|
if have_audio:
|
|
2294
2300
|
for opkt in aenc.encode(None): # flush
|
{python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2/src/python_aidot_cameras.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-aidot-cameras
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.2
|
|
4
4
|
Summary: Control AiDot/Leedarson WiFi lights and cameras (WebRTC streaming, two-way audio, PTZ, controls)
|
|
5
5
|
Author-email: cbrightly <chris.brightly@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/models/device_client_model.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/src/aidot/models/discover_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_aidot_cameras-0.7.1 → python_aidot_cameras-0.7.2}/tests/test_post_merge_hardening.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|