python-aidot-cameras 0.7.3__tar.gz → 0.7.5__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.3/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.7.5}/PKG-INFO +1 -1
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/pyproject.toml +1 -1
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/camera/client.py +15 -2
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5/src/python_aidot_cameras.egg-info}/PKG-INFO +1 -1
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/LICENSE +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/README.md +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/setup.cfg +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/__init__.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/aes_utils.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/camera/__init__.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/camera/lan_control.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/client.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/const.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/credentials.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/device_client.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/discover.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/exceptions.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/g711.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/login_const.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/models/__init__.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/models/device_client_model.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/models/device_model.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/aidot/models/discover_model.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/python_aidot_cameras.egg-info/SOURCES.txt +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/python_aidot_cameras.egg-info/dependency_links.txt +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/python_aidot_cameras.egg-info/requires.txt +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/src/python_aidot_cameras.egg-info/top_level.txt +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_alarm_event.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_highport_nomination.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_lan_control.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_motion_poll.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_no_undefined_names.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_post_merge_hardening.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_sdes_idle_release.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_sdes_sprop.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_sdes_talk.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_sdes_watchdog.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_speak.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_stream_cap.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_talk.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_terminal_ack.py +0 -0
- {python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/tests/test_token_refresh.py +0 -0
{python_aidot_cameras-0.7.3/src/python_aidot_cameras.egg-info → python_aidot_cameras-0.7.5}/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.5
|
|
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.5"
|
|
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"
|
|
@@ -4834,7 +4834,13 @@ class CameraMixin:
|
|
|
4834
4834
|
await asyncio.sleep(0.2)
|
|
4835
4835
|
if progress[0] > _p0:
|
|
4836
4836
|
break
|
|
4837
|
-
|
|
4837
|
+
# ffmpeg binds its -listen socket at startup, so by the time
|
|
4838
|
+
# the mux has written a frame (progress moved above) the
|
|
4839
|
+
# socket is long bound. A short margin is plenty; the old
|
|
4840
|
+
# 2.0s blind wait was pure cold-start latency. (Don't probe
|
|
4841
|
+
# the port - `-listen 1` would consume our probe as its one
|
|
4842
|
+
# client and tear down before go2rtc connects.)
|
|
4843
|
+
await asyncio.sleep(0.3)
|
|
4838
4844
|
self._serve_ready.set()
|
|
4839
4845
|
# Wait for ffmpeg to exit (go2rtc disconnect) or idle release.
|
|
4840
4846
|
while self._streaming_active and proc.returncode is None:
|
|
@@ -12007,7 +12013,14 @@ class CameraMixin:
|
|
|
12007
12013
|
_sdes_gain_db = -8.0
|
|
12008
12014
|
dest_args = [
|
|
12009
12015
|
"-c:v", "copy",
|
|
12010
|
-
|
|
12016
|
+
# aresample=async=1 fills timing gaps with silence so the AAC
|
|
12017
|
+
# encoder always has a full 1024-sample frame to emit. Battery
|
|
12018
|
+
# cameras send PCMA sparsely (radio duty-cycling + weak uplink);
|
|
12019
|
+
# without this the encoder starves, the mpegts PAT/PMT is never
|
|
12020
|
+
# written, and the consumer gets ZERO bytes - the whole stream
|
|
12021
|
+
# dies. first_pts=0 anchors the clock so the first AAC frame
|
|
12022
|
+
# (and thus the PMT) is produced promptly at stream start.
|
|
12023
|
+
"-af", f"aresample=async=1:first_pts=0,volume={_sdes_gain_db}dB",
|
|
12011
12024
|
"-c:a", "aac", "-ar", "48000", "-b:a", "128k",
|
|
12012
12025
|
"-f", "mpegts", "-listen", "1",
|
|
12013
12026
|
rtsp_push_url,
|
{python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5/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.5
|
|
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.3 → python_aidot_cameras-0.7.5}/src/aidot/models/device_client_model.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_aidot_cameras-0.7.3 → python_aidot_cameras-0.7.5}/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.3 → python_aidot_cameras-0.7.5}/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
|