reactor-runtime 3.2.0__tar.gz → 3.2.1__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.
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/PKG-INFO +1 -1
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/pyproject.toml +1 -1
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/pyproject.toml.orig +1 -1
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/core/values.py +10 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/peer.py +9 -2
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/LICENSE +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/NOTICE +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/README.md +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/codes.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/core/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/core/fields.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/core/model.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/core/naming.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/core/service.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/core/session.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/core/transport.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/core/typespec.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/event_stream.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/http/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/http/events.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/http/routes.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/http/server.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/http/spec.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/client.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/events/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/events/decorators.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/events/errors.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/events/messages.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/internal/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/internal/bridge.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/internal/input_buffer.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/internal/reactor_core.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/model/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/model/contract.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/model/reactor_model.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/model/schema.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/pipeline/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/pipeline/idle.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/pipeline/input_state.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/pipeline/reactor_pipeline.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/tracks/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/tracks/descriptors.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/tracks/input.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/tracks/output.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/log.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/manifest.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/message_gateway.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/metrics.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/paths.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/protocol/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/protocol/base.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/protocol/common.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/protocol/v0/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/protocol/v0/codec.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/protocol/v1/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/protocol/v1/codec.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/py.typed +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/recording/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/recording/chunk_encoder.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/recording/markers.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/recording/recorder.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/runner/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/runner/connection_manager.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/runner/offer_epochs.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/runner/runner.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/runner/state_machine.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/schema.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/serve.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/service.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/acceptor.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/router.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/__init__.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/acceptor.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/config.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/connection.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/frames.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/pacer.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/router.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/sdp.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/signaling.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/stats.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/version.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/upload_store.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_wire/v1/common_pb2.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_wire/v1/common_pb2.pyi +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_wire/v1/control_pb2.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_wire/v1/control_pb2.pyi +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_wire/v1/data_pb2.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_wire/v1/data_pb2.pyi +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_wire/v1/model_pb2.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_wire/v1/model_pb2.pyi +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_wire/v1/platform_pb2.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_wire/v1/platform_pb2.pyi +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_wire/v1/track_pb2.py +0 -0
- {reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_wire/v1/track_pb2.pyi +0 -0
|
@@ -64,11 +64,21 @@ class InputFrame:
|
|
|
64
64
|
metadata: What the sender attached to this frame, as the bytes it sent,
|
|
65
65
|
or ``None`` for a frame that carried nothing. Decoding them is the
|
|
66
66
|
model's business: the transport treats them as opaque.
|
|
67
|
+
capture_time_us: The microsecond the sender stamped this frame as it went
|
|
68
|
+
to the wire — its capture instant for a source that sends as it
|
|
69
|
+
captures — or ``None`` for a frame that carried no stamp. The wire
|
|
70
|
+
value, unrounded, in the unit the sender's own SDK works in. It rides
|
|
71
|
+
with the metadata, so a sender or a transport that carries neither
|
|
72
|
+
leaves both unset. Unlike ``pts``, it is a reading of another
|
|
73
|
+
machine's clock: differences between stamps from one sender are that
|
|
74
|
+
source's own timing, while anything subtracted from a local clock is
|
|
75
|
+
mostly the offset between two clocks that drift independently.
|
|
67
76
|
"""
|
|
68
77
|
|
|
69
78
|
data: npt.NDArray[Any]
|
|
70
79
|
pts: float | None = None
|
|
71
80
|
metadata: bytes | None = None
|
|
81
|
+
capture_time_us: int | None = None
|
|
72
82
|
|
|
73
83
|
|
|
74
84
|
class TrackKind(StrEnum):
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/peer.py
RENAMED
|
@@ -581,8 +581,10 @@ class WebRTCPeer:
|
|
|
581
581
|
) -> Callable[[bytes, int, int, rw.FrameMetadata | None], None]:
|
|
582
582
|
"""Build the callback that turns one decoded video frame into an InputFrame.
|
|
583
583
|
|
|
584
|
-
The fourth argument is the
|
|
585
|
-
|
|
584
|
+
The fourth argument is the trailer the sender attached, when it was there
|
|
585
|
+
to read and the receiver transform is in place to strip it. It carries the
|
|
586
|
+
sender's own bytes and, beside them, the microsecond the sender stamped
|
|
587
|
+
the frame at, which reaches the model as that frame's capture time.
|
|
586
588
|
"""
|
|
587
589
|
|
|
588
590
|
def sink(
|
|
@@ -591,10 +593,15 @@ class WebRTCPeer:
|
|
|
591
593
|
if self._stop_event.is_set():
|
|
592
594
|
return
|
|
593
595
|
metadata = bytes(meta.user_data) if meta is not None else b""
|
|
596
|
+
# The trailer leaves the stamp zero when the sender set none. Zero is
|
|
597
|
+
# not a clock reading, so it is the absence of a stamp rather than a
|
|
598
|
+
# frame captured at the epoch.
|
|
599
|
+
capture_us = meta.timestamp if meta is not None else 0
|
|
594
600
|
frame = InputFrame(
|
|
595
601
|
data=bgra_to_rgb(bgra, width, height),
|
|
596
602
|
# An empty trailer is a frame the sender attached nothing to.
|
|
597
603
|
metadata=metadata or None,
|
|
604
|
+
capture_time_us=capture_us or None,
|
|
598
605
|
)
|
|
599
606
|
self._fire(self._cb_media, name, frame)
|
|
600
607
|
|
|
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
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/events/__init__.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/events/decorators.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/events/errors.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/events/messages.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/internal/__init__.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/internal/bridge.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/model/__init__.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/model/contract.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/model/reactor_model.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/model/schema.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/pipeline/__init__.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/pipeline/idle.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/tracks/__init__.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/tracks/descriptors.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/tracks/input.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/interface/tracks/output.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/recording/chunk_encoder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/runner/connection_manager.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
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/__init__.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/acceptor.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/config.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/connection.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/frames.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/pacer.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/router.py
RENAMED
|
File without changes
|
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/signaling.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/stats.py
RENAMED
|
File without changes
|
{reactor_runtime-3.2.0 → reactor_runtime-3.2.1}/src/reactor_runtime/transport/webrtc/version.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
|
|
File without changes
|
|
File without changes
|