04:41:38 info: Sendspin.SDK.Client.SendspinHostService[0] Starting Sendspin host service 04:41:38 info: Sendspin.SDK.Connection.SendspinListener[0] WebSocket server listening on port 19964 04:41:38 info: Sendspin.SDK.Connection.SendspinListener[0] Sendspin listener started on ws://0.0.0.0:19964 (path: /sendspin) 04:41:38 info: Sendspin.SDK.Discovery.MdnsServiceAdvertiser[0] Local IP addresses for mDNS: 192.168.64.3 04:41:38 info: Sendspin.SDK.Discovery.MdnsServiceAdvertiser[0] mDNS Service Profile: FullName=sendspin-dotnet-client-id._sendspin._tcp.local, ServiceName=_sendspin._tcp, HostName=sendspin-dotnet-client-id.sendspin.local, Port=19964 04:41:38 info: Sendspin.SDK.Discovery.MdnsServiceAdvertiser[0] Advertising Sendspin client: sendspin-dotnet-client-id on port 19964 (path=/sendspin) 04:41:38 info: Sendspin.SDK.Client.SendspinHostService[0] Sendspin host service started - waiting for server connections 04:41:38 info: Sendspin.SDK.Connection.SendspinListener[0] WebSocket connection opened from 127.0.0.1 04:41:38 info: Sendspin.SDK.Client.SendspinHostService[0] New server connection: 4c2a8f24 04:41:38 info: Sendspin.SDK.Client.SendspinHostService[0] Sending client/hello: {"type":"client/hello","payload":{"client_id":"sendspin-dotnet-client-id","name":"sendspin-dotnet-client","version":1,"supported_roles":["metadata@v1"],"player@v1_support":{"supported_formats":[{"codec":"flac","channels":1,"sample_rate":8000,"bit_depth":16},{"codec":"pcm","channels":1,"sample_rate":8000,"bit_depth":16},{"codec":"flac","channels":2,"sample_rate":44100,"bit_depth":16},{"codec":"pcm","channels":2,"sample_rate":44100,"bit_depth":16}],"buffer_capacity":2000000,"supported_commands":["volume","mute"]},"artwork@v1_support":{"channels":[{"source":"album","format":"jpeg","media_width":256,"media_height":256}]},"device_info":{"product_name":"Conformance Dotnet Client","manufacturer":"Sendspin Conformance","software_version":"0.1.0"}}} 04:41:38 info: Sendspin.SDK.Client.SendspinClientService[0] Server hello received: sendspin-go-server (sendspin-go server), reason: playback, roles: metadata@v1 04:41:38 info: Sendspin.SDK.Client.SendspinHostService[0] Arbitration: Accepting sendspin-go-server (no existing connection) 04:41:38 info: Sendspin.SDK.Client.SendspinHostService[0] Server connected: sendspin-go-server (sendspin-go server) 04:41:38 info: Sendspin.SDK.Client.SendspinClientService[0] Sending initial client/state: {"type":"client/state","payload":{"state":"synchronized","player":{"volume":100,"muted":false}}} 04:41:39 info: Sendspin.SDK.Connection.IncomingConnection[0] Server closed connection 04:41:39 info: Sendspin.SDK.Client.SendspinHostService[0] Server disconnected: sendspin-go-server 04:41:39 info: Sendspin.SDK.Client.SendspinHostService[0] Stopping Sendspin host service 04:41:39 info: Sendspin.SDK.Discovery.MdnsServiceAdvertiser[0] Stopping mDNS advertisement for sendspin-dotnet-client-id 04:41:39 info: Sendspin.SDK.Connection.SendspinListener[0] Stopping Sendspin listener 04:41:39 info: Sendspin.SDK.Connection.SendspinListener[0] Stopping WebSocket server 04:41:39 info: Sendspin.SDK.Client.SendspinHostService[0] Sendspin host service stopped 04:41:39 info: Sendspin.SDK.Client.SendspinHostService[0] Stopping Sendspin host service 04:41:39 info: Sendspin.SDK.Client.SendspinHostService[0] Sendspin host service stopped { "status": "ok", "reason": null, "implementation": "sendspin-dotnet", "role": "client", "scenario_id": "server-initiated-metadata", "initiator_role": "server", "preferred_codec": "none", "client_name": "sendspin-dotnet-client", "client_id": "sendspin-dotnet-client-id", "server": { "server_id": "sendspin-go-server", "server_name": "sendspin-go server", "connection_reason": "playback" }, "peer_hello": null, "metadata": { "update_count": 1, "received": { "title": "Almost Silent", "artist": "Sendspin Conformance", "album_artist": "Sendspin", "album": "Protocol Fixtures", "artwork_url": "https://example.invalid/almost-silent.jpg", "year": 2026, "track": 1, "repeat": "all", "shuffle": false, "progress": { "track_progress": 12000, "track_duration": 180000, "playback_speed": 1000 } } } }