rocket-welder-sdk 1.1.30__py3-none-any.whl → 1.1.32__py3-none-any.whl
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.
- rocket_welder_sdk/connection_string.py +12 -4
- rocket_welder_sdk/controllers.py +4 -2
- {rocket_welder_sdk-1.1.30.dist-info → rocket_welder_sdk-1.1.32.dist-info}/METADATA +1 -1
- {rocket_welder_sdk-1.1.30.dist-info → rocket_welder_sdk-1.1.32.dist-info}/RECORD +6 -6
- {rocket_welder_sdk-1.1.30.dist-info → rocket_welder_sdk-1.1.32.dist-info}/WHEEL +0 -0
- {rocket_welder_sdk-1.1.30.dist-info → rocket_welder_sdk-1.1.32.dist-info}/top_level.txt +0 -0
|
@@ -204,19 +204,27 @@ class ConnectionString:
|
|
|
204
204
|
@classmethod
|
|
205
205
|
def _parse_mjpeg(cls, protocol: Protocol, remainder: str) -> ConnectionString:
|
|
206
206
|
"""Parse MJPEG connection string."""
|
|
207
|
+
# Split host:port and query parameters
|
|
208
|
+
if "?" in remainder:
|
|
209
|
+
host_port, query_string = remainder.split("?", 1)
|
|
210
|
+
params = cls._parse_query_params(query_string)
|
|
211
|
+
else:
|
|
212
|
+
host_port = remainder
|
|
213
|
+
params = {}
|
|
214
|
+
|
|
207
215
|
# Parse host:port format
|
|
208
|
-
if ":" in
|
|
209
|
-
host, port_str =
|
|
216
|
+
if ":" in host_port:
|
|
217
|
+
host, port_str = host_port.rsplit(":", 1)
|
|
210
218
|
try:
|
|
211
219
|
port = int(port_str)
|
|
212
220
|
except ValueError as e:
|
|
213
221
|
raise ValueError(f"Invalid port number: {port_str}") from e
|
|
214
222
|
else:
|
|
215
|
-
host =
|
|
223
|
+
host = host_port
|
|
216
224
|
# Default ports based on protocol
|
|
217
225
|
port = 80 if Protocol.HTTP in protocol else 8080
|
|
218
226
|
|
|
219
|
-
return cls(protocol=protocol, host=host, port=port)
|
|
227
|
+
return cls(protocol=protocol, host=host, port=port, parameters=params)
|
|
220
228
|
|
|
221
229
|
@classmethod
|
|
222
230
|
def _parse_query_params(cls, query_string: str) -> dict[str, str]:
|
rocket_welder_sdk/controllers.py
CHANGED
|
@@ -14,7 +14,6 @@ from typing import TYPE_CHECKING, Callable, Optional
|
|
|
14
14
|
import numpy as np
|
|
15
15
|
from zerobuffer import BufferConfig, Frame, Reader, Writer
|
|
16
16
|
from zerobuffer.duplex import DuplexChannelFactory
|
|
17
|
-
from zerobuffer.duplex.server import ImmutableDuplexServer
|
|
18
17
|
from zerobuffer.exceptions import WriterDeadException
|
|
19
18
|
|
|
20
19
|
from .connection_string import ConnectionMode, ConnectionString, Protocol
|
|
@@ -22,9 +21,12 @@ from .gst_metadata import GstCaps, GstMetadata
|
|
|
22
21
|
|
|
23
22
|
if TYPE_CHECKING:
|
|
24
23
|
import numpy.typing as npt
|
|
24
|
+
from zerobuffer.duplex import IImmutableDuplexServer
|
|
25
25
|
|
|
26
26
|
Mat = npt.NDArray[np.uint8]
|
|
27
27
|
else:
|
|
28
|
+
from zerobuffer.duplex import IImmutableDuplexServer
|
|
29
|
+
|
|
28
30
|
Mat = np.ndarray # type: ignore[misc]
|
|
29
31
|
|
|
30
32
|
# Module logger
|
|
@@ -547,7 +549,7 @@ class DuplexShmController(IController):
|
|
|
547
549
|
)
|
|
548
550
|
|
|
549
551
|
self._connection = connection
|
|
550
|
-
self._duplex_server: Optional[
|
|
552
|
+
self._duplex_server: Optional[IImmutableDuplexServer] = None
|
|
551
553
|
self._gst_caps: Optional[GstCaps] = None
|
|
552
554
|
self._metadata: Optional[GstMetadata] = None
|
|
553
555
|
self._is_running = False
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rocket-welder-sdk
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.32
|
|
4
4
|
Summary: High-performance video streaming SDK for RocketWelder services using ZeroBuffer IPC
|
|
5
5
|
Home-page: https://github.com/modelingevolution/rocket-welder-sdk
|
|
6
6
|
Author: ModelingEvolution
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
rocket_welder_sdk/__init__.py,sha256=tL2NPprMSh19MDUtLsk1YByB0YTLp6nNAkWv2fxNKuM,2001
|
|
2
2
|
rocket_welder_sdk/bytes_size.py,sha256=Myl29-wyWCIYdbMmgaxXebT8Dz8_Fwcr3fnfaNW81P0,7463
|
|
3
|
-
rocket_welder_sdk/connection_string.py,sha256=
|
|
4
|
-
rocket_welder_sdk/controllers.py,sha256=
|
|
3
|
+
rocket_welder_sdk/connection_string.py,sha256=NIC6OiOXF-DeBFCWzgMFOWsenrSS45hY81j_HLMSpgo,9974
|
|
4
|
+
rocket_welder_sdk/controllers.py,sha256=iegNko2F22jYQgJBHr_fTtkmCf7pCnjgeVXjwqt9j88,31028
|
|
5
5
|
rocket_welder_sdk/gst_metadata.py,sha256=jEQvZX4BdR6OR3lqp12PV-HEXZhcxfiS010diA2CbMM,14213
|
|
6
6
|
rocket_welder_sdk/opencv_controller.py,sha256=MDM6_yFBB9BaMa5jnZRqw7xZZB-WuLr7EPrrfHQ2DK4,9905
|
|
7
7
|
rocket_welder_sdk/periodic_timer.py,sha256=hnObybmrnf3J47QrNKJhYAytLKwria016123NvPRfQ0,9369
|
|
@@ -16,7 +16,7 @@ rocket_welder_sdk/ui/icons.py,sha256=DcDklZkPmiEzlOD4IR7VTJOtGPCuuh_OM_WN7ScghWE
|
|
|
16
16
|
rocket_welder_sdk/ui/ui_events_projection.py,sha256=siiNhjLEBOPfTKw1ZhOPGkwIN5rLDH7V9VCZTNrhEtQ,7836
|
|
17
17
|
rocket_welder_sdk/ui/ui_service.py,sha256=uRdpyJGoCQmtOli_HKSrxLwhZYG-XRuHIYdkmFz1zNk,12026
|
|
18
18
|
rocket_welder_sdk/ui/value_types.py,sha256=f7OA_9zgXEDPoITc8v8SfAR23I4XeFhE3E2_GcAbR6k,1616
|
|
19
|
-
rocket_welder_sdk-1.1.
|
|
20
|
-
rocket_welder_sdk-1.1.
|
|
21
|
-
rocket_welder_sdk-1.1.
|
|
22
|
-
rocket_welder_sdk-1.1.
|
|
19
|
+
rocket_welder_sdk-1.1.32.dist-info/METADATA,sha256=nPxntb-mslyKp43lLBFHIixy7OAuBA4GpcQ9_hFlgXQ,24438
|
|
20
|
+
rocket_welder_sdk-1.1.32.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
21
|
+
rocket_welder_sdk-1.1.32.dist-info/top_level.txt,sha256=2iZvBjnwVCUW-uDE23-eJld5PZ9-mlPI69QiXM5IrTA,18
|
|
22
|
+
rocket_welder_sdk-1.1.32.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|