python-aidot-cameras 0.5.8__tar.gz → 0.5.9__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.5.8/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.5.9}/PKG-INFO +1 -1
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/pyproject.toml +1 -1
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/src/aidot/device_client.py +11 -3
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9/src/python_aidot_cameras.egg-info}/PKG-INFO +1 -1
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/LICENSE +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/README.md +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/setup.cfg +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/src/aidot/__init__.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/src/aidot/aes_utils.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/src/aidot/client.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/src/aidot/const.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/src/aidot/credentials.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/src/aidot/discover.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/src/aidot/exceptions.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/src/aidot/g711.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/src/python_aidot_cameras.egg-info/SOURCES.txt +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/src/python_aidot_cameras.egg-info/dependency_links.txt +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/src/python_aidot_cameras.egg-info/requires.txt +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/src/python_aidot_cameras.egg-info/top_level.txt +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/tests/test_alarm_event.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/tests/test_highport_nomination.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/tests/test_motion_poll.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/tests/test_no_undefined_names.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/tests/test_sdes_sprop.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/tests/test_sdes_talk.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/tests/test_sdes_watchdog.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/tests/test_speak.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/tests/test_stream_cap.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/tests/test_talk.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/tests/test_terminal_ack.py +0 -0
- {python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9}/tests/test_token_refresh.py +0 -0
{python_aidot_cameras-0.5.8/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.5.9}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-aidot-cameras
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.9
|
|
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.5.
|
|
7
|
+
version = "0.5.9"
|
|
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"
|
|
@@ -2059,8 +2059,11 @@ def _save_sprop(devid: str, sprop: str) -> None:
|
|
|
2059
2059
|
with open(tmp, "w") as fh:
|
|
2060
2060
|
fh.write(sprop)
|
|
2061
2061
|
os.replace(tmp, _sprop_cache_path(devid))
|
|
2062
|
-
except OSError:
|
|
2063
|
-
|
|
2062
|
+
except OSError as exc:
|
|
2063
|
+
# Surface (don't swallow): if the cache dir isn't writable the whole
|
|
2064
|
+
# sprop feature is silently inert. AIDOT_SPROP_DIR can redirect it.
|
|
2065
|
+
_LOGGER.warning("sprop cache write failed (%s): %s — set AIDOT_SPROP_DIR "
|
|
2066
|
+
"to a writable path", _SPROP_DIR, exc)
|
|
2064
2067
|
|
|
2065
2068
|
|
|
2066
2069
|
def _inject_sprop(sdp: str, devid: str) -> str:
|
|
@@ -12098,8 +12101,13 @@ class DeviceClient(object):
|
|
|
12098
12101
|
"a=rtcp-mux\r\n"
|
|
12099
12102
|
)
|
|
12100
12103
|
try:
|
|
12104
|
+
# Re-apply the cached sprop-parameter-sets here too:
|
|
12105
|
+
# this serve-restart rewrite is the SDP the keepalive
|
|
12106
|
+
# ffmpeg actually reads on every watchdog cycle, so
|
|
12107
|
+
# without this the out-of-band SPS is lost on restart
|
|
12108
|
+
# (the failure persisted live even for cached cameras).
|
|
12101
12109
|
with open(sdp_path, "w") as _f2:
|
|
12102
|
-
_f2.write(_new_sdp)
|
|
12110
|
+
_f2.write(_inject_sprop(_new_sdp, self.device_id))
|
|
12103
12111
|
except Exception as _sdp_exc2:
|
|
12104
12112
|
_LOGGER.warning("could not rewrite SDP for restart: %s", _sdp_exc2)
|
|
12105
12113
|
proc = subprocess.Popen(
|
{python_aidot_cameras-0.5.8 → python_aidot_cameras-0.5.9/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.5.
|
|
3
|
+
Version: 0.5.9
|
|
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
|
|
File without changes
|