sendspin-server-cpp: dialing ws://127.0.0.1:19957/sendspin for playback sendspin-server-cpp: "aiosendspin-client" at 127.0.0.1:19957 connected listener: client aiosendspin-client disconnected: server stopped { "status": "ok", "implementation": "sendspin-server-cpp", "role": "server", "server_name": "sendspin-server-cpp server", "scenario_id": "server-initiated-protocol-baseline-v1", "initiator_role": "server", "preferred_codec": "pcm", "server_id": "pp24OpLxrTlXwXrZTe10gmS9H2aLQTDFgm8yTVetjhw", "discovery_method": "registry", "peer_hello": { "payload": { "name": "aiosendspin-client", "supported_roles": [ "player@v1" ], "player@v1_support": { "supported_formats": [ { "codec": "pcm", "channels": 1, "sample_rate": 8000, "bit_depth": 16 }, { "codec": "pcm", "channels": 2, "sample_rate": 44100, "bit_depth": 16 }, { "codec": "pcm", "channels": 2, "sample_rate": 48000, "bit_depth": 16 } ], "buffer_capacity": 2000000 }, "supported_pair_methods": { "pairing_psk": {} }, "unpaired_access": { "enabled": true } }, "type": "client/hello" }, "activation": { "type": "server/activate", "payload": { "activities": [ "playback" ], "active_roles": [ "player@v1" ] } }, "group_updates": [ { "type": "group/update", "payload": { "playback_state": "stopped", "group_id": "1", "group_name": "sendspin-server-cpp server" } }, { "type": "group/update", "payload": { "playback_state": "playing", "group_id": "1", "group_name": "sendspin-server-cpp server" } }, { "type": "group/update", "payload": { "playback_state": "stopped", "group_id": "1", "group_name": "sendspin-server-cpp server" } } ], "availability_trace": [ { "type": "client/state", "available": false }, { "type": "client/state", "available": true }, { "type": "stream/start", "phase": "sending", "roles": [ "player" ] }, { "type": "stream/start", "phase": "sent", "roles": [ "player" ] } ], "time_exchange": [ { "payload": { "client_transmitted": 721673341 }, "type": "client/time" }, { "type": "server/time", "payload": { "client_transmitted": 721673341, "server_received": 721673399, "server_transmitted": 721673442 } }, { "payload": { "client_transmitted": 721875523 }, "type": "client/time" }, { "type": "server/time", "payload": { "client_transmitted": 721875523, "server_received": 721875695, "server_transmitted": 721875764 } }, { "type": "other-sent" }, { "payload": { "client_transmitted": 721877780 }, "type": "client/time" }, { "type": "server/time", "payload": { "client_transmitted": 721877780, "server_received": 721878065, "server_transmitted": 721878374 } }, { "payload": { "client_transmitted": 722076565 }, "type": "client/time" }, { "type": "server/time", "payload": { "client_transmitted": 722076565, "server_received": 722076728, "server_transmitted": 722076805 } }, { "payload": { "client_transmitted": 725079206 }, "type": "client/time" }, { "type": "server/time", "payload": { "client_transmitted": 725079206, "server_received": 725079678, "server_transmitted": 725079889 } }, { "type": "other-sent" } ], "client": { "client_id": "rFgILqo5YfPor8oK13GTFmECUaxYcW46Q1TFv8F38Xg", "name": "aiosendspin-client", "supported_roles": [ "player@v1" ], "active_roles": [ "player@v1" ] }, "stream": { "codec": "pcm", "sample_rate": 8000, "channels": 1, "bit_depth": 16 }, "audio": { "fixture": "/Users/runner/work/conformance/conformance/repos/sendspin-cli/tests/fixtures/almost_silent.flac", "source_flac_sha256": "8fdda8244e318c63cd8b699fe461cd7cdddbb729327a0ba00d1bfdbe2192fe17", "source_pcm_sha256": "9d447b5b270bc99b45bb9a616937e436c941ca56c477f9cbe16a93275a6b059e", "clip_seconds": 5, "sample_rate": 8000, "channels": 1, "bit_depth": 16, "frame_count": 40000, "duration_seconds": 5 }, "protocol": { "spec_revision": "8c9577ea8719ad082d051ec13cc73ef15ed68948", "assertions": { "CORE-001": { "status": "passed", "detail": "the trace shows the seven handshake messages in order, the cleartext ones in text frames and the encrypted ones in binary frames", "events": [ { "event": "handshake_message", "direction": "inbound", "message_type": "client/init", "frame": "text" }, { "event": "handshake_message", "direction": "outbound", "message_type": "server/init", "frame": "text" }, { "event": "handshake_message", "direction": "outbound", "message_type": "noise/handshake", "frame": "text" }, { "event": "handshake_message", "direction": "inbound", "message_type": "noise/handshake", "frame": "text" }, { "event": "handshake_message", "direction": "outbound", "message_type": "server/hello", "frame": "binary" }, { "event": "handshake_message", "direction": "inbound", "message_type": "client/hello", "frame": "binary" }, { "event": "handshake_message", "direction": "outbound", "message_type": "server/activate", "frame": "binary" } ] }, "CORE-002": { "status": "passed", "detail": "only handshake messages preceded the first server/activate", "events": [ { "event": "message_before_activation", "direction": "inbound", "message_type": "client/init", "frame": "text" }, { "event": "message_before_activation", "direction": "outbound", "message_type": "server/init", "frame": "text" }, { "event": "message_before_activation", "direction": "outbound", "message_type": "noise/handshake", "frame": "text" }, { "event": "message_before_activation", "direction": "inbound", "message_type": "noise/handshake", "frame": "text" }, { "event": "message_before_activation", "direction": "outbound", "message_type": "server/hello", "frame": "binary" }, { "event": "message_before_activation", "direction": "inbound", "message_type": "client/hello", "frame": "binary" }, { "event": "message_before_activation", "direction": "outbound", "message_type": "server/activate", "frame": "binary" } ] }, "CORE-003": { "status": "passed", "detail": "every active role was advertised, with the support object its role requires", "events": [ { "event": "server_activate_checked_against_client_hello", "active_roles": [ "player@v1" ], "supported_roles": [ "player@v1" ], "support_objects": [ "player@v1_support" ] } ] }, "CORE-004": { "status": "passed", "detail": "the initial client/state preceded the first role binary data", "events": [ { "event": "server_activate", "direction": "outbound", "message_type": "server/activate", "frame": "binary" }, { "event": "initial_client_state", "direction": "inbound", "message_type": "client/state", "frame": "binary" }, { "event": "first_role_binary_data", "direction": "outbound", "message_type": "binary:4", "frame": "binary" } ] }, "PLAYER-001": { "status": "passed", "detail": "selected an advertised format and sent 50 audio chunks in timestamp order", "events": [ { "event": "stream_start_observed", "negotiated_format": { "codec": "pcm", "sample_rate": 8000, "channels": 1, "bit_depth": 16 }, "advertised_formats": [ { "codec": "pcm", "channels": 1, "sample_rate": 8000, "bit_depth": 16 }, { "codec": "pcm", "channels": 2, "sample_rate": 44100, "bit_depth": 16 }, { "codec": "pcm", "channels": 2, "sample_rate": 48000, "bit_depth": 16 } ] }, { "event": "audio_chunks_observed", "chunk_count": 50, "first_timestamp_us": 722136180, "last_timestamp_us": 727036180 } ] } } } }