sendspin-server-cpp: dialing ws://127.0.0.1:19962/sendspin for playback sendspin-server-cpp: "SendspinKit-client" at 127.0.0.1:19962 connected listener: client SendspinKit-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": "cwwnSKz1hngj0G3mCWrN2jHH0PokV67qshTGjC-2LTg", "discovery_method": "registry", "peer_hello": { "type": "client/hello", "payload": { "name": "SendspinKit-client", "supported_pair_methods": { "pairing_psk": { "locations": [ "operator" ] } }, "device_info": { "product_name": "Mac", "manufacturer": "Apple", "software_version": "Version 26.6.2 (Build 25G83)" }, "unpaired_access": { "enabled": true }, "supported_roles": [ "player@v1" ], "player@v1_support": { "supported_formats": [ { "channels": 1, "sample_rate": 8000, "codec": "pcm", "bit_depth": 16 } ], "buffer_capacity": 960000 } } }, "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": true }, { "type": "stream/start", "phase": "sending", "roles": [ "player" ] }, { "type": "stream/start", "phase": "sent", "roles": [ "player" ] } ], "time_exchange": [ { "payload": { "client_transmitted": 750285005 }, "type": "client/time" }, { "type": "server/time", "payload": { "client_transmitted": 750285005, "server_received": 750285208, "server_transmitted": 750285275 } }, { "payload": { "client_transmitted": 750367685 }, "type": "client/time" }, { "type": "server/time", "payload": { "client_transmitted": 750367685, "server_received": 750368024, "server_transmitted": 750368108 } }, { "type": "other-sent" }, { "payload": { "client_transmitted": 751379949 }, "type": "client/time" }, { "type": "server/time", "payload": { "client_transmitted": 751379949, "server_received": 751380267, "server_transmitted": 751380358 } }, { "payload": { "client_transmitted": 752450993 }, "type": "client/time" }, { "type": "server/time", "payload": { "client_transmitted": 752450993, "server_received": 752451316, "server_transmitted": 752453520 } }, { "payload": { "client_transmitted": 753514576 }, "type": "client/time" }, { "type": "server/time", "payload": { "client_transmitted": 753514576, "server_received": 753514910, "server_transmitted": 753515035 } }, { "payload": { "client_transmitted": 754646431 }, "type": "client/time" }, { "type": "server/time", "payload": { "client_transmitted": 754646431, "server_received": 754646714, "server_transmitted": 754646821 } }, { "payload": { "client_transmitted": 755682633 }, "type": "client/time" }, { "type": "server/time", "payload": { "client_transmitted": 755682633, "server_received": 755682990, "server_transmitted": 755683086 } }, { "type": "other-sent" } ], "client": { "client_id": "8qwBuoD3m2kBRq2EvEZg31qMKjCE-oja3acHOG6UFmI", "name": "SendspinKit-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": [ { "channels": 1, "sample_rate": 8000, "codec": "pcm", "bit_depth": 16 } ] }, { "event": "audio_chunks_observed", "chunk_count": 50, "first_timestamp_us": 750878935, "last_timestamp_us": 755778935 } ] } } } }