INFO:aiosendspin.server.server:Starting Sendspin server on port 18956 INFO:aiosendspin.server.server:Sendspin server started successfully on 127.0.0.1:18956 WARNING:aiosendspin.server.server:No IP addresses available for mDNS advertising. Clients may not be able to discover this server. Consider specifying addresses manually via advertise_addresses. WARNING:aiosendspin.server.connection.ECmCiI8cyMv-CtB-ao6ryPQ4MRfhhRpoqx0EmfV4Fy8:WebSocket closed, close_code=1006 { "activation": { "payload": { "active_roles": [ "player@v1" ], "activities": [ "playback" ] }, "type": "server/activate" }, "availability_trace": [ { "available": true, "type": "client/state" }, { "phase": "sending", "roles": [ "player" ], "type": "stream/start" }, { "phase": "sent", "roles": [ "player" ], "type": "stream/start" }, { "available": true, "type": "client/state" }, { "available": true, "type": "client/state" } ], "client": { "active_roles": [], "client_id": "ECmCiI8cyMv-CtB-ao6ryPQ4MRfhhRpoqx0EmfV4Fy8", "name": "SendspinKit-client", "supported_roles": [ "player@v1" ] }, "discovery_method": "registry_fallback", "group_updates": [ { "payload": { "group_id": "674fdaf9-2b36-426f-8ba4-46af34641ad2", "group_name": "SendspinKit-client", "playback_state": "stopped" }, "type": "group/update" }, { "payload": { "group_id": "674fdaf9-2b36-426f-8ba4-46af34641ad2", "group_name": "SendspinKit-client", "playback_state": "playing" }, "type": "group/update" }, { "payload": { "group_id": "674fdaf9-2b36-426f-8ba4-46af34641ad2", "group_name": "SendspinKit-client", "playback_state": "stopped" }, "type": "group/update" } ], "implementation": "aiosendspin", "initiator_role": "server", "peer_hello": { "payload": { "device_info": { "manufacturer": "Apple", "product_name": "Mac", "software_version": "Version 26.6.2 (Build 25G83)" }, "name": "SendspinKit-client", "player@v1_support": { "buffer_capacity": 960000, "supported_formats": [ { "bit_depth": 16, "channels": 1, "codec": "pcm", "sample_rate": 8000 } ] }, "supported_pair_methods": { "pairing_psk": { "locations": [ "operator" ] } }, "supported_roles": [ "player@v1" ], "unpaired_access": { "enabled": true } }, "type": "client/hello" }, "preferred_codec": "pcm", "protocol": { "assertions": { "CORE-001": { "detail": "Noise handshake completed; driver enforces strict frame ordering", "events": [ { "end_ts": 1792567230.2589839, "event": "handshake_completed", "handshake_hash": "6aa21e9cf5f977963ba21a4384a9d0ab970b8366b7e457b69f9398080a35cff2", "peer_id": "ECmCiI8cyMv-CtB-ao6ryPQ4MRfhhRpoqx0EmfV4Fy8", "psk_category": "sentinel", "start_ts": 1792567230.043042, "timestamp": 1792567230.259008 } ], "status": "passed" }, "CORE-002": { "detail": "Server ran with allow_noncompliant_clients=False; no early-message compliance error was raised before activation", "events": [ { "active_roles": [ "player@v1" ], "event": "connection_established_without_compliance_error", "timestamp": 1792567230.259019 } ], "status": "passed" }, "CORE-003": { "detail": "Active roles are a subset of the negotiated role set", "events": [ { "active_role_ids": [ "player@v1" ], "event": "server_activate_scoped_to_negotiated_roles", "negotiated_role_ids": [ "player@v1" ], "requested_roles": [ "player@v1" ], "timestamp": 1792567230.259021 } ], "status": "passed" }, "CORE-004": { "detail": "Connection reached the active state, which requires the initial client/state to have already been accepted", "events": [ { "detail": "SendspinConnection gates role binary data behind the initial client/state and flags noncompliance otherwise", "event": "initial_client_state_gate_satisfied", "timestamp": 1792567230.259022 } ], "status": "passed" }, "PLAYER-001": { "detail": "Selected an advertised format and streamed 200 timestamped chunks in order", "events": [ { "advertised_formats": [ { "bit_depth": 16, "channels": 1, "codec": "pcm", "sample_rate": 8000 } ], "event": "stream_start_observed", "negotiated_format": { "bit_depth": 16, "channels": 1, "codec": "pcm", "sample_rate": 8000 }, "timestamp": 1792567236.559247 }, { "chunk_count": 200, "event": "audio_chunks_observed", "first_timestamp_us": 713792319, "last_timestamp_us": 718767319, "timestamp": 1792567236.5592818 } ], "status": "passed" } }, "spec_revision": "8c9577ea8719ad082d051ec13cc73ef15ed68948" }, "role": "server", "scenario_id": "server-initiated-protocol-baseline-v1", "server_id": "dsIlKLOY1OqUfE4ig1m3id0r6yr2D5_3R-FJLQZI30I", "server_name": "aiosendspin server", "status": "ok", "time_exchange": [ { "payload": { "client_transmitted": 713454646 }, "type": "client/time" }, { "payload": { "client_transmitted": 713454646, "server_received": 713455284, "server_transmitted": 713455794 }, "type": "server/time" }, { "payload": { "client_transmitted": 713515585 }, "type": "client/time" }, { "payload": { "client_transmitted": 713515585, "server_received": 713516136, "server_transmitted": 713516389 }, "type": "server/time" }, { "type": "other-sent" }, { "payload": { "client_transmitted": 714556505 }, "type": "client/time" }, { "payload": { "client_transmitted": 714556505, "server_received": 714557207, "server_transmitted": 714557473 }, "type": "server/time" }, { "payload": { "client_transmitted": 715691444 }, "type": "client/time" }, { "payload": { "client_transmitted": 715691444, "server_received": 715691891, "server_transmitted": 715692084 }, "type": "server/time" }, { "payload": { "client_transmitted": 716700428 }, "type": "client/time" }, { "payload": { "client_transmitted": 716700428, "server_received": 716701026, "server_transmitted": 716701246 }, "type": "server/time" }, { "payload": { "client_transmitted": 717705540 }, "type": "client/time" }, { "payload": { "client_transmitted": 717705540, "server_received": 717706694, "server_transmitted": 717707052 }, "type": "server/time" }, { "payload": { "client_transmitted": 718812611 }, "type": "client/time" }, { "payload": { "client_transmitted": 718812611, "server_received": 718813136, "server_transmitted": 718813350 }, "type": "server/time" }, { "type": "other-sent" } ] }