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 FLAC as its only supported audio format, the server connects in, uses the SDK to encode the PCM into FLAC, streams it to the client, and the matrix compares the transported FLAC header and chunk bytes as received by the client.
Server
aiosendspin
Client
aiosendspin
Status
Passed
FLAC header and chunk bytes match exactly
Inspection
Summaries, logs, and builds
Matrix result
RAW{
"case_dir": "artifacts/results/data/macos__server-initiated-flac__aiosendspin__to__aiosendspin",
"client_exit_code": 0,
"client_impl": "aiosendspin",
"reason": "FLAC header and chunk bytes match exactly",
"scenario_id": "server-initiated-flac",
"server_exit_code": 0,
"server_impl": "aiosendspin",
"status": "passed"
}Server summary (JSON)
RAW{
"audio": {
"bit_depth": 16,
"channels": 1,
"clip_seconds": 5.0,
"duration_seconds": 4.968,
"fixture": "/Users/runner/work/conformance/conformance/repos/sendspin-cli/tests/fixtures/almost_silent.flac",
"frame_alignment_samples": 576,
"frame_count": 39744,
"sample_rate": 8000,
"sent_audio_chunk_count": 69,
"sent_codec_header_sha256": "cf785f756a60586c95243e827c384663e8dc4be893f3eb79a5b092b4df511214",
"sent_encoded_byte_count": 3817,
"sent_encoded_sha256": "a4be5550140f2e9d7a631318496eab0f63ca6b09ce6ff0e148b50d0364ffe49a",
"source_flac_sha256": "8fdda8244e318c63cd8b699fe461cd7cdddbb729327a0ba00d1bfdbe2192fe17",
"source_pcm_sha256": "ea4a8f1ced7d3ad85d46da1dea8cf98cd2cf75dbf305fb11cffea11b1e180952",
"trimmed_source_frames": 256
},
"client": {
"active_roles": [
"player@v1"
],
"client_id": "rFgILqo5YfPor8oK13GTFmECUaxYcW46Q1TFv8F38Xg",
"name": "aiosendspin-client",
"supported_roles": [
"player@v1"
]
},
"discovery_method": "registry_fallback",
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": {
"payload": {
"name": "aiosendspin-client",
"player@v1_support": {
"buffer_capacity": 2000000,
"supported_commands": [
"volume",
"mute"
],
"supported_formats": [
{
"bit_depth": 16,
"channels": 1,
"codec": "flac",
"sample_rate": 8000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "flac",
"sample_rate": 44100
},
{
"bit_depth": 16,
"channels": 2,
"codec": "flac",
"sample_rate": 48000
}
]
},
"supported_pair_methods": [
{
"method": "pairing_psk"
}
],
"supported_roles": [
"player@v1"
],
"trust_level": "user",
"unpaired_access": {
"enabled": false
}
},
"type": "client/hello"
},
"preferred_codec": "flac",
"role": "server",
"scenario_id": "server-initiated-flac",
"server_id": "dsIlKLOY1OqUfE4ig1m3id0r6yr2D5_3R-FJLQZI30I",
"server_name": "aiosendspin server",
"status": "ok",
"stream": {
"bit_depth": 16,
"channels": 1,
"codec": "flac",
"codec_header": "ZkxhQ4AAACICQAJAAAAAAASVAfQA8AAAAAAAAAAAAAAAAAAAAAAAAAAA",
"codec_header_sha256": "cf785f756a60586c95243e827c384663e8dc4be893f3eb79a5b092b4df511214",
"sample_rate": 8000
}
}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": 4.968,
"fixture": "/Users/runner/work/conformance/conformance/repos/sendspin-cli/tests/fixtures/almost_silent.flac",
"frame_alignment_samples": 576,
"frame_count": 39744,
"sample_rate": 8000,
"sent_audio_chunk_count": 69,
"sent_codec_header_sha256": "cf785f756a60586c95243e827c384663e8dc4be893f3eb79a5b092b4df511214",
"sent_encoded_byte_count": 3817,
"sent_encoded_sha256": "a4be5550140f2e9d7a631318496eab0f63ca6b09ce6ff0e148b50d0364ffe49a",
"source_flac_sha256": "8fdda8244e318c63cd8b699fe461cd7cdddbb729327a0ba00d1bfdbe2192fe17",
"source_pcm_sha256": "ea4a8f1ced7d3ad85d46da1dea8cf98cd2cf75dbf305fb11cffea11b1e180952",
"trimmed_source_frames": 256
},
"client": {
"active_roles": [
"player@v1"
],
"client_id": "rFgILqo5YfPor8oK13GTFmECUaxYcW46Q1TFv8F38Xg",
"name": "aiosendspin-client",
"supported_roles": [
"player@v1"
]
},
"discovery_method": "registry_fallback",
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": {
"payload": {
"name": "aiosendspin-client",
"player@v1_support": {
"buffer_capacity": 2000000,
"supported_commands": [
"volume",
"mute"
],
"supported_formats": [
{
"bit_depth": 16,
"channels": 1,
"codec": "flac",
"sample_rate": 8000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "flac",
"sample_rate": 44100
},
{
"bit_depth": 16,
"channels": 2,
"codec": "flac",
"sample_rate": 48000
}
]
},
"supported_pair_methods": [
{
"method": "pairing_psk"
}
],
"supported_roles": [
"player@v1"
],
"trust_level": "user",
"unpaired_access": {
"enabled": false
}
},
"type": "client/hello"
},
"preferred_codec": "flac",
"role": "server",
"scenario_id": "server-initiated-flac",
"server_id": "dsIlKLOY1OqUfE4ig1m3id0r6yr2D5_3R-FJLQZI30I",
"server_name": "aiosendspin server",
"status": "ok",
"stream": {
"bit_depth": 16,
"channels": 1,
"codec": "flac",
"codec_header": "ZkxhQ4AAACICQAJAAAAAAASVAfQA8AAAAAAAAAAAAAAAAAAAAAAAAAAA",
"codec_header_sha256": "cf785f756a60586c95243e827c384663e8dc4be893f3eb79a5b092b4df511214",
"sample_rate": 8000
}
}
Client summary (JSON)
RAW{
"audio": {
"audio_chunk_count": 69,
"received_encoded_sha256": "a4be5550140f2e9d7a631318496eab0f63ca6b09ce6ff0e148b50d0364ffe49a",
"received_pcm_sha256": "ea4a8f1ced7d3ad85d46da1dea8cf98cd2cf75dbf305fb11cffea11b1e180952",
"received_sample_count": 39744
},
"client_id": "rFgILqo5YfPor8oK13GTFmECUaxYcW46Q1TFv8F38Xg",
"client_name": "aiosendspin-client",
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": null,
"preferred_codec": "flac",
"role": "client",
"scenario_id": "server-initiated-flac",
"server": null,
"status": "ok",
"stream": {
"bit_depth": 16,
"channels": 1,
"codec": "flac",
"codec_header": "ZkxhQ4AAACICQAJAAAAAAASVAfQA8AAAAAAAAAAAAAAAAAAAAAAAAAAA",
"sample_rate": 8000
}
}Client log
RAWINFO:aiosendspin.client.listener:ClientListener started on port 20023, path /sendspin
INFO:aiosendspin.client.connection:Stream started with codec flac
INFO:aiohttp.access:127.0.0.1 [05/Sep/2026:06:54:12 +0000] "GET /sendspin HTTP/1.1" 101 0 "-" "Python/3.12 aiohttp/3.14.3"
INFO:aiosendspin.client.listener:ClientListener stopped
{
"audio": {
"audio_chunk_count": 69,
"received_encoded_sha256": "a4be5550140f2e9d7a631318496eab0f63ca6b09ce6ff0e148b50d0364ffe49a",
"received_pcm_sha256": "ea4a8f1ced7d3ad85d46da1dea8cf98cd2cf75dbf305fb11cffea11b1e180952",
"received_sample_count": 39744
},
"client_id": "rFgILqo5YfPor8oK13GTFmECUaxYcW46Q1TFv8F38Xg",
"client_name": "aiosendspin-client",
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": null,
"preferred_codec": "flac",
"role": "client",
"scenario_id": "server-initiated-flac",
"server": null,
"status": "ok",
"stream": {
"bit_depth": 16,
"channels": 1,
"codec": "flac",
"codec_header": "ZkxhQ4AAACICQAJAAAAAAASVAfQA8AAAAAAAAAAAAAAAAAAAAAAAAAAA",
"sample_rate": 8000
}
}
Shared build log · python-adapters · built · 0.05s
RAWListing 'src'... Listing 'src/conformance'... Listing 'src/conformance/adapters'... Compiling 'src/conformance/adapters/__init__.py'... Compiling 'src/conformance/adapters/_aiosendspin_pairing.py'... Compiling 'src/conformance/adapters/_aiosendspin_protocol_evidence.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'...