May 16, 2026 5:35:13 AM com.sendspin.protocol.ProtocolLog i INFO: SendSpinClient: connecting to ws://127.0.0.1:18932/sendspin May 16, 2026 5:35:13 AM com.sendspin.protocol.ProtocolLog i INFO: SendSpinClient: WebSocket open May 16, 2026 5:35:13 AM com.sendspin.protocol.ProtocolLog i INFO: SendSpinClient: server hello from 'aiosendspin server' reason=discovery May 16, 2026 5:35:13 AM com.sendspin.protocol.ProtocolLog i INFO: SendSpinClient: stream/start codec=pcm May 16, 2026 5:35:13 AM com.sendspin.protocol.ProtocolLog i INFO: SendSpinClient: first audio chunk — ts=877712748 size=400 bufferSize=0 May 16, 2026 5:35:19 AM com.sendspin.protocol.ProtocolLog i INFO: SendSpinClient: closing (1000 ) May 16, 2026 5:35:19 AM com.sendspin.protocol.ProtocolLog i INFO: SendSpinClient: closed (1000 ) { "server": null, "initiator_role": "client", "role": "client", "preferred_codec": "pcm", "stream": { "codec": "pcm", "codec_header": null, "sample_rate": 8000, "channels": 1, "bit_depth": 16 }, "peer_hello": { "active_roles": [ "player@v1", "controller@v1", "metadata@v1", "artwork@v1" ], "name": "aiosendspin server", "connection_reason": "discovery", "server_id": "aiosendspin-server", "version": 1 }, "implementation": "sendspin-jvm", "audio": { "audio_chunk_count": 200, "received_encoded_sha256": "b3481a3f75dea856a961e7842d12f8344c7147b3925f9f0b67c5445700bd4cf2", "received_pcm_sha256": "9d447b5b270bc99b45bb9a616937e436c941ca56c477f9cbe16a93275a6b059e", "received_sample_count": 40000 }, "client_name": "sendspin-jvm-client", "client_id": "sendspin-jvm-client-id", "scenario_id": "client-initiated-pcm", "status": "ok" }