python-aidot-cameras 0.7.22__tar.gz → 0.7.23__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.22/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.7.23}/PKG-INFO +1 -1
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/pyproject.toml +1 -1
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/camera/client.py +7 -3
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23/src/python_aidot_cameras.egg-info}/PKG-INFO +1 -1
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/LICENSE +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/MANIFEST.in +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/README.md +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/setup.cfg +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/__init__.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/aes_utils.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/camera/__init__.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/camera/constants.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/camera/controls.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/camera/go2rtc.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/camera/lan_control.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/camera/models.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/camera/playback.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/camera/protocol.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/camera/sdes.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/camera/tutk.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/camera/webrtc.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/client.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/const.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/credentials.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/device_client.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/discover.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/exceptions.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/g711.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/login_const.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/models/__init__.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/models/device_client_model.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/models/device_model.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/models/discover_model.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/py.typed +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/python_aidot_cameras.egg-info/SOURCES.txt +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/python_aidot_cameras.egg-info/dependency_links.txt +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/python_aidot_cameras.egg-info/requires.txt +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/python_aidot_cameras.egg-info/top_level.txt +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_alarm_event.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_backoff.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_go2rtc.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_highport_nomination.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_lan_control.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_live_stream_param.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_motion_poll.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_no_undefined_names.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_post_merge_hardening.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_sdes_fast_liveplay.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_sdes_idle_release.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_sdes_sprop.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_sdes_talk.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_sdes_watchdog.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_serve_relay.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_speak.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_stream_cap.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_stream_idle.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_talk.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_terminal_ack.py +0 -0
- {python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_token_refresh.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-aidot-cameras
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.23
|
|
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.23"
|
|
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"
|
|
@@ -2532,7 +2532,8 @@ class CameraMixin(_CameraControlsMixin):
|
|
|
2532
2532
|
return 120.0
|
|
2533
2533
|
|
|
2534
2534
|
def _resolve_sdes_fast_liveplay(self) -> bool:
|
|
2535
|
-
"""Whether to
|
|
2535
|
+
"""Whether to use SDES fast-liveplay (shorten the always-timing-out
|
|
2536
|
+
echo/livePlayResp signaling) - validated in soak, opt-in, default off.
|
|
2536
2537
|
|
|
2537
2538
|
Per-camera ``sdes_fast_liveplay`` (set via start_keepalive) wins; else the
|
|
2538
2539
|
``AIDOT_SDES_FAST_LIVEPLAY`` env (truthy = 1/true/yes/on), default off.
|
|
@@ -7047,13 +7048,16 @@ class CameraMixin(_CameraControlsMixin):
|
|
|
7047
7048
|
# webrtcReq. The echo confirms the MQTT pipeline to this device is live
|
|
7048
7049
|
# and the broker session is registered. Fall through after 5 s if it
|
|
7049
7050
|
# never arrives (same safety as the old fixed 0.5 s sleep, but adaptive).
|
|
7050
|
-
#
|
|
7051
|
+
# SDES fast-liveplay (opt-in via sdes_fast_liveplay): instrumentation showed
|
|
7051
7052
|
# the echo and livePlayResp waits BOTH always time out for the SDES cameras
|
|
7052
7053
|
# measured (echo/resp never arrive) yet streaming succeeds - i.e. ~6 s of
|
|
7053
7054
|
# dead padding. When the flag is on, cap the echo wait short and skip the
|
|
7054
7055
|
# livePlayResp wait; the full ICE/TURN/SCTP handshake is untouched. This
|
|
7055
7056
|
# is the SDES path's OWN livePlay waits (the DTLS gate above never runs for
|
|
7056
|
-
# SDES: use_sdes is True there).
|
|
7057
|
+
# SDES: use_sdes is True there). VALIDATED in a 3 h live soak (15 SDES
|
|
7058
|
+
# opens across battery cameras, flag engaged on all, 0 churn / 0 fail,
|
|
7059
|
+
# ~4.5 s signaling saved); kept off by default pending broader multi-day
|
|
7060
|
+
# use (per-open + near-term stability proven, long-haul not yet).
|
|
7057
7061
|
_skip_lp = self._resolve_sdes_fast_liveplay()
|
|
7058
7062
|
_echo_timeout = 1.5 if _skip_lp else 5.0
|
|
7059
7063
|
_echo_t0 = time.monotonic()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-aidot-cameras
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.23
|
|
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
|
|
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.22 → python_aidot_cameras-0.7.23}/src/aidot/models/device_client_model.py
RENAMED
|
File without changes
|
{python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/src/aidot/models/device_model.py
RENAMED
|
File without changes
|
{python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/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
|
{python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_highport_nomination.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_no_undefined_names.py
RENAMED
|
File without changes
|
{python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_post_merge_hardening.py
RENAMED
|
File without changes
|
{python_aidot_cameras-0.7.22 → python_aidot_cameras-0.7.23}/tests/test_sdes_fast_liveplay.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
|
|
File without changes
|
|
File without changes
|