Case
aiosendspin -> aiosendspin
Start the server first, then the client. The server loads the PCM audio derived from almost_silent.flac, the client advertises a listener and OPUS as its only supported audio format, the server connects in, uses the SDK to encode the PCM into OPUS, streams it to the client, and the matrix compares the transported OPUS header and chunk bytes as received by the client.
Server
aiosendspin
Client
aiosendspin
Status
Failed
Client summary shows zero OPUS audio chunks received
Inspection
Summaries, logs, and builds
Matrix result
RAW{
"case_dir": "artifacts/results/data/macos__server-initiated-opus__aiosendspin__to__aiosendspin",
"client_exit_code": 0,
"client_impl": "aiosendspin",
"reason": "Client summary shows zero OPUS audio chunks received",
"scenario_id": "server-initiated-opus",
"server_exit_code": 0,
"server_impl": "aiosendspin",
"status": "failed"
}Server summary (JSON)
RAW{
"audio": {
"bit_depth": 16,
"channels": 1,
"clip_seconds": 5.0,
"duration_seconds": 5.0,
"fixture": "/Users/runner/work/conformance/conformance/repos/sendspin-cli/tests/fixtures/almost_silent.flac",
"frame_alignment_samples": null,
"frame_count": 40000,
"sample_rate": 8000,
"sent_audio_chunk_count": 249,
"sent_codec_header_sha256": null,
"sent_encoded_byte_count": 15767,
"sent_encoded_sha256": "5e29c9dd65f09d7b73dd940af00842b27ade7f3b7ce86fdb8095a6bbe4c14e53",
"source_flac_sha256": "8fdda8244e318c63cd8b699fe461cd7cdddbb729327a0ba00d1bfdbe2192fe17",
"source_pcm_sha256": "9d447b5b270bc99b45bb9a616937e436c941ca56c477f9cbe16a93275a6b059e",
"trimmed_source_frames": 0
},
"client": {
"active_roles": [
"player@v1"
],
"client_id": "aiosendspin-client-id",
"name": "aiosendspin-client",
"supported_roles": [
"player@v1"
]
},
"discovery_method": "registry_fallback",
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": {
"payload": {
"client_id": "aiosendspin-client-id",
"name": "aiosendspin-client",
"player@v1_support": {
"buffer_capacity": 2000000,
"supported_commands": [
"volume",
"mute"
],
"supported_formats": [
{
"bit_depth": 16,
"channels": 1,
"codec": "opus",
"sample_rate": 48000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "opus",
"sample_rate": 48000
}
]
},
"supported_roles": [
"player@v1"
],
"version": 1
},
"type": "client/hello"
},
"preferred_codec": "opus",
"role": "server",
"scenario_id": "server-initiated-opus",
"server_id": "aiosendspin-server",
"server_name": "aiosendspin server",
"status": "ok",
"stream": {
"bit_depth": 16,
"channels": 1,
"codec": "opus",
"codec_header": null,
"sample_rate": 48000
}
}Server log
RAWINFO:aiosendspin.server.server:Starting Sendspin server on port 19023
INFO:aiosendspin.server.server:Sendspin server started successfully on 127.0.0.1:19023
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.
{
"audio": {
"bit_depth": 16,
"channels": 1,
"clip_seconds": 5.0,
"duration_seconds": 5.0,
"fixture": "/Users/runner/work/conformance/conformance/repos/sendspin-cli/tests/fixtures/almost_silent.flac",
"frame_alignment_samples": null,
"frame_count": 40000,
"sample_rate": 8000,
"sent_audio_chunk_count": 249,
"sent_codec_header_sha256": null,
"sent_encoded_byte_count": 15767,
"sent_encoded_sha256": "5e29c9dd65f09d7b73dd940af00842b27ade7f3b7ce86fdb8095a6bbe4c14e53",
"source_flac_sha256": "8fdda8244e318c63cd8b699fe461cd7cdddbb729327a0ba00d1bfdbe2192fe17",
"source_pcm_sha256": "9d447b5b270bc99b45bb9a616937e436c941ca56c477f9cbe16a93275a6b059e",
"trimmed_source_frames": 0
},
"client": {
"active_roles": [
"player@v1"
],
"client_id": "aiosendspin-client-id",
"name": "aiosendspin-client",
"supported_roles": [
"player@v1"
]
},
"discovery_method": "registry_fallback",
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": {
"payload": {
"client_id": "aiosendspin-client-id",
"name": "aiosendspin-client",
"player@v1_support": {
"buffer_capacity": 2000000,
"supported_commands": [
"volume",
"mute"
],
"supported_formats": [
{
"bit_depth": 16,
"channels": 1,
"codec": "opus",
"sample_rate": 48000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "opus",
"sample_rate": 48000
}
]
},
"supported_roles": [
"player@v1"
],
"version": 1
},
"type": "client/hello"
},
"preferred_codec": "opus",
"role": "server",
"scenario_id": "server-initiated-opus",
"server_id": "aiosendspin-server",
"server_name": "aiosendspin server",
"status": "ok",
"stream": {
"bit_depth": 16,
"channels": 1,
"codec": "opus",
"codec_header": null,
"sample_rate": 48000
}
}
Client summary (JSON)
RAW{
"audio": {
"audio_chunk_count": 0,
"received_encoded_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"received_pcm_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"received_sample_count": 0
},
"client_id": "aiosendspin-client-id",
"client_name": "aiosendspin-client",
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": {
"payload": {
"active_roles": [
"player@v1"
],
"connection_reason": "playback",
"name": "aiosendspin server",
"server_id": "aiosendspin-server",
"version": 1
},
"type": "server/hello"
},
"preferred_codec": "opus",
"role": "client",
"scenario_id": "server-initiated-opus",
"server": null,
"status": "ok",
"stream": null
}Client log
RAWINFO:aiosendspin.client.listener:ClientListener started on port 20023, path /sendspin
INFO:aiosendspin.client.client:Connected to server 'aiosendspin server' (aiosendspin-server) version 1
INFO:aiosendspin.client.client:Handshake with server complete
ERROR:aiosendspin.client.client:Unsupported codec 'opus' - only PCM and FLAC are supported
INFO:aiohttp.access:127.0.0.1 [16/May/2026:05:36:34 +0000] "GET /sendspin HTTP/1.1" 101 0 "-" "Python/3.12 aiohttp/3.13.5"
INFO:aiosendspin.client.listener:ClientListener stopped
{
"audio": {
"audio_chunk_count": 0,
"received_encoded_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"received_pcm_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"received_sample_count": 0
},
"client_id": "aiosendspin-client-id",
"client_name": "aiosendspin-client",
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": {
"payload": {
"active_roles": [
"player@v1"
],
"connection_reason": "playback",
"name": "aiosendspin server",
"server_id": "aiosendspin-server",
"version": 1
},
"type": "server/hello"
},
"preferred_codec": "opus",
"role": "client",
"scenario_id": "server-initiated-opus",
"server": null,
"status": "ok",
"stream": null
}
Shared build log · python-adapters · built · 0.07s
RAWListing 'src'... Listing 'src/conformance'... Listing 'src/conformance/adapters'... Compiling 'src/conformance/adapters/__init__.py'... Compiling 'src/conformance/adapters/aiosendspin_client.py'... Compiling 'src/conformance/adapters/aiosendspin_server.py'... Compiling 'src/conformance/adapters/placeholder.py'... Compiling 'src/conformance/adapters/sendspin_jvm_client.py'... Compiling 'src/conformance/cli.py'... Compiling 'src/conformance/merge.py'... Compiling 'src/conformance/registry.py'... Listing 'src/sendspin_conformance.egg-info'... Listing 'scripts'... Compiling 'scripts/detect_regressions.py'... Compiling 'scripts/merge_results.py'... Compiling 'scripts/run_all.py'... Compiling 'scripts/setup_repositories.py'... Compiling 'scripts/setup_workspace.py'...