Case
aiosendspin -> sendspin-js
Start the server first, then the client. The client advertises a listener and PCM as its only supported audio format, the server connects in and streams audio derived from almost_silent.flac, and both adapters record each audio frame as it crossed the transport. The matrix verifies that every frame is message type 4 behind the 13-byte header (type, int64 timestamp, uint32 send_ahead), that the client read the same 13 bytes off each one, and that no chunk lasted longer than 150 ms or, the final chunk aside, less than 15 ms. This test does not compare the audio, and does not judge send_ahead saturation, which no adapter can observe.
Server
aiosendspin
Client
sendspin-js
Status
Failed
Server sent a header of 9 bytes on 199 of 199 audio chunks; roles/player/v1.md requires 13 bytes (type, int64 timestamp, uint32 send_ahead); server adapter reported: aiosendspin classified the client/hello as older than send_ahead (unencrypted, a trust_level key, or player supported_commands in client/hello) and kept the header without it for that client
Server activation
Initial server/activate
What the aiosendspin server's own adapter recorded for its first server/activate on this connection, reported as sent. The case fails when none was sent, when its activities are not unique values from playback and pairing, or when it omits active_roles. Nothing else in it is checked against the specification: which activities and roles the matched PSK allows is not judged. A recording that cannot be read as that message is shown whole and not judged either.
Server group state
Every group/update after activation
What the aiosendspin server's own adapter recorded for each group/update it sent after its first server/activate on this connection, in order and reported as sent. The case fails when none followed, or when in any of them playback_state is not playing or stopped, or group_id or group_name is missing or not a string. How soon the first followed is not judged, because the specification says promptly and gives no bound, so one sent at any point in the case counts. Whether a change to a field produced a further message is not judged either. A recording of anything other than that message is shown whole and fails the case as a harness gap.
1 of 3
2 of 3
3 of 3
Inspection
Summaries, logs, and builds
Matrix result
RAW{
"case_dir": "artifacts/results/data/macos__server-initiated-audio-chunk-framing__aiosendspin__to__sendspin-js",
"client_exit_code": 0,
"client_impl": "sendspin-js",
"reason": "Server sent a header of 9 bytes on 199 of 199 audio chunks; roles/player/v1.md requires 13 bytes (type, int64 timestamp, uint32 send_ahead); server adapter reported: aiosendspin classified the client/hello as older than send_ahead (unencrypted, a trust_level key, or player supported_commands in client/hello) and kept the header without it for that client",
"scenario_id": "server-initiated-audio-chunk-framing",
"scenario_revision": 4,
"server_exit_code": 0,
"server_impl": "aiosendspin",
"status": "failed",
"unsupported": false
}Server summary (JSON)
RAW{
"activation": {
"payload": {
"active_roles": [
"player@v1",
"controller@v1",
"metadata@v1"
],
"activities": [
"playback"
]
},
"type": "server/activate"
},
"audio": {
"bit_depth": 16,
"channels": 1,
"chunked_by": "implementation",
"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,
"legacy_header_reason": "aiosendspin classified the client/hello as older than send_ahead (unencrypted, a trust_level key, or player supported_commands in client/hello) and kept the header without it for that client",
"sample_rate": 8000,
"sent_audio_chunk_count": 199,
"sent_chunk_frames": [
{
"byte_count": 4809,
"leading_hex": "0400000000506c5dcd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506cbf7500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506d211d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506d82c500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506de46d02000200",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506e4615fafffaff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506ea7bdf8fff8ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506f096512001200",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506f6b0df1fff1ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506fccb500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050702e5d0d000d00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050709005eaffeaff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005070f1ad10001000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050715355fdfffdff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005071b4fdf2fff2ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507216a514001400",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005072784defffefff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005072d9f502000200",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050733b9d0c000c00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050739d45eaffeaff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005073feed0f000f00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050746095fdfffdff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005074c23df2fff2ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507523e514001400",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005075858defffefff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005075e73502000200",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507648dd0c000c00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005076aa85eaffeaff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050770c2d0f000f00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050776dd5fdfffdff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005077cf7df2fff2ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005078312514001400",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507892cdefffefff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005078f47502000200",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005079561d0c000c00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005079b7c5eaffeaff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507a196d0f000f00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507a7b15fdfffdff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507adcbdf2fff2ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507b3e6514001400",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507ba00df2fff2ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507c01b5fdfffdff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507c635d04000400",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507cc505fdfffdff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507d26ad00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507d8855fefffeff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507de9fd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507e4ba5ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507ead4d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507f0ef5ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507f709d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507fd245ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508033ed00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050809595ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005080f73d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508158e5ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005081ba8d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050821c35ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050827ddd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005082df85ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005083412d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005083a2d5ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005084047d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005084662500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005084c7cdffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050852975ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050858b1d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005085ecc500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050864e6d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005086b01500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508711bd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005087736500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005087d50d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508836b500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005088985d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005088fa0500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050895bad00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005089bd5500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508a1efd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508a80a500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508ae24d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508b43f500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508ba59d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508c074500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508c68ed00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508cca9500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508d2c3d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508d8de500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508def8d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508e513500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508eb2dd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508f148500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508f762d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508fd7d500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005090397d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050909b2500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005090fccd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050915e7500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005091c01d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509221c500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005092836d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005092e51500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509346bd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005093a86500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050940a0d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050946bb500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005094cd5d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050952f0500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509590ad00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005095f25500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509653fd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005096b5a500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005097174d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509778f500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005097da9d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050983c4500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050989ded00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005098ff9500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005099613d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005099c2e500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509a248d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509a863500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509ae7dd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509b498500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509bab2d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509c0cd500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509c6e7d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509cd02500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509d31cd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509d937500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509df51d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509e56c500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509eb86d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509f1a1500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509f7bbd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509fdd6500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a03f0d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a0a0b500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a1025d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a1640500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a1c5ad00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a2275500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a288fd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a2eaa500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a34c4d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a3adf500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a40f9d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a4714500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a4d2ed00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a5349500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a5963d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a5f7e500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a6598d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a6bb3500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a71cdd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a77e8500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a7e02d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a841d500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a8a37d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a9052500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a966cd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a9c87500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050aa2a1d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050aa8bc500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050aaed6d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050ab4f1500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050abb0bd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050ac126500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050ac740d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050acd5b500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050ad375d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050ad990500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050adfaad00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050ae5c5500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050aebdfd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050af1fa500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050af814d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050afe2f500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b0449d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b0a64500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b107ed00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b1699500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b1cb3d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b22ce500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b28e8d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b2f03500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b351dd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b3b38500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b4152d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b476d500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b4d87d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b53a2500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b59bcd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b5fd7500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b65f1d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b6c0c500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b7226d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b7841500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b7e5bd00000000",
"payload_byte_count": 4800
}
],
"sent_codec_header_sha256": null,
"sent_encoded_byte_count": 955200,
"sent_encoded_sha256": "fde28f16c1fe19351b91eb3f21a5d6cbc7ca4e5c952ce3063b377a264e28b158",
"source_flac_sha256": "8fdda8244e318c63cd8b699fe461cd7cdddbb729327a0ba00d1bfdbe2192fe17",
"source_pcm_sha256": "9d447b5b270bc99b45bb9a616937e436c941ca56c477f9cbe16a93275a6b059e",
"trimmed_source_frames": 0
},
"availability_trace": [
{
"available": true,
"type": "client/state"
},
{
"phase": "sending",
"roles": [
"player"
],
"type": "stream/start"
},
{
"phase": "sent",
"roles": [
"player"
],
"type": "stream/start"
},
{
"available": true,
"type": "client/state"
},
{
"available": true,
"type": "client/state"
}
],
"client": {
"active_roles": [
"player@v1",
"controller@v1",
"metadata@v1"
],
"client_id": "KMEVv4GSwubMclvq7jtC7Gu8Peq3BLG7BNZS6dtOYTg",
"name": "sendspin-js-client",
"supported_roles": [
"player@v1",
"controller@v1",
"metadata@v1"
]
},
"discovery_method": "registry_fallback",
"group_updates": [
{
"payload": {
"group_id": "36bc1d8a-bbf4-4329-818b-7ea6520b73f4",
"group_name": "sendspin-js-client",
"playback_state": "stopped"
},
"type": "group/update"
},
{
"payload": {
"group_id": "36bc1d8a-bbf4-4329-818b-7ea6520b73f4",
"group_name": "sendspin-js-client",
"playback_state": "playing"
},
"type": "group/update"
},
{
"payload": {
"group_id": "36bc1d8a-bbf4-4329-818b-7ea6520b73f4",
"group_name": "sendspin-js-client",
"playback_state": "stopped"
},
"type": "group/update"
}
],
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": {
"payload": {
"device_info": {
"manufacturer": "Unknown",
"software_version": "Node.js/22"
},
"legacy_pair_methods_list_used": true,
"name": "sendspin-js-client",
"player@v1_support": {
"buffer_capacity": 5760000,
"supported_commands": [
"volume",
"mute"
],
"supported_formats": [
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 48000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 44100
}
]
},
"supported_pair_methods": {},
"supported_roles": [
"player@v1",
"controller@v1",
"metadata@v1"
],
"trust_level_used": true,
"unpaired_access": {
"enabled": true
}
},
"type": "client/hello"
},
"preferred_codec": "pcm",
"role": "server",
"scenario_id": "server-initiated-audio-chunk-framing",
"server_id": "dsIlKLOY1OqUfE4ig1m3id0r6yr2D5_3R-FJLQZI30I",
"server_name": "aiosendspin server",
"status": "ok",
"stream": {
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"codec_header": null,
"sample_rate": 48000
},
"time_exchange": [
{
"payload": {
"client_transmitted": 277298
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 277298,
"server_received": 1348964011,
"server_transmitted": 1348964356
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 282547
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 282547,
"server_received": 1348966175,
"server_transmitted": 1348966496
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 284305
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 284305,
"server_received": 1348967931,
"server_transmitted": 1348968227
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 285417
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 285417,
"server_received": 1348968826,
"server_transmitted": 1348969189
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 287167
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 287167,
"server_received": 1348971240,
"server_transmitted": 1348971426
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 288699
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 288699,
"server_received": 1348972089,
"server_transmitted": 1348972273
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 289560
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 289560,
"server_received": 1348973004,
"server_transmitted": 1348973113
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 290422
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 290422,
"server_received": 1348973977,
"server_transmitted": 1348974123
},
"type": "server/time"
},
{
"type": "other-sent"
}
]
}Server log
RAWINFO:aiosendspin.server.server:Starting Sendspin server on port 19104
INFO:aiosendspin.server.server:Sendspin server started successfully on 127.0.0.1:19104
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.
WARNING:aiosendspin.server.connection.KMEVv4GSwubMclvq7jtC7Gu8Peq3BLG7BNZS6dtOYTg:non-compliant client sendspin-js-client (Unknown, software Node.js/22): client/hello declared player supported_commands, superseded by client/state
WARNING:aiosendspin.server.connection.KMEVv4GSwubMclvq7jtC7Gu8Peq3BLG7BNZS6dtOYTg:non-compliant client sendspin-js-client (Unknown, software Node.js/22): client/hello sent the removed trust_level key
WARNING:aiosendspin.server.connection.KMEVv4GSwubMclvq7jtC7Gu8Peq3BLG7BNZS6dtOYTg:non-compliant client sendspin-js-client (Unknown, software Node.js/22): client/hello sent supported_pair_methods as a list
WARNING:aiosendspin.server.connection.KMEVv4GSwubMclvq7jtC7Gu8Peq3BLG7BNZS6dtOYTg:non-compliant client sendspin-js-client (Unknown, software Node.js/22): client/hello did not offer the pairing_psk method
WARNING:aiosendspin.server.client.KMEVv4GSwubMclvq7jtC7Gu8Peq3BLG7BNZS6dtOYTg:non-compliant client sendspin-js-client (Unknown, software Node.js/22): client/state used the pre-rename 'static_delay_ms' key
WARNING:aiosendspin.server.client.KMEVv4GSwubMclvq7jtC7Gu8Peq3BLG7BNZS6dtOYTg:non-compliant client sendspin-js-client (Unknown, software Node.js/22): client/state declared the pre-rename 'set_static_delay' command
WARNING:aiosendspin.server.client.KMEVv4GSwubMclvq7jtC7Gu8Peq3BLG7BNZS6dtOYTg:non-compliant client sendspin-js-client (Unknown, software Node.js/22): client/state omitted required player timing fields
WARNING:aiosendspin.server.client.KMEVv4GSwubMclvq7jtC7Gu8Peq3BLG7BNZS6dtOYTg:non-compliant client sendspin-js-client (Unknown, software Node.js/22): client/state omitted volume despite declaring the volume command
WARNING:aiosendspin.server.client.KMEVv4GSwubMclvq7jtC7Gu8Peq3BLG7BNZS6dtOYTg:non-compliant client sendspin-js-client (Unknown, software Node.js/22): client/state omitted muted despite declaring the mute command
{
"activation": {
"payload": {
"active_roles": [
"player@v1",
"controller@v1",
"metadata@v1"
],
"activities": [
"playback"
]
},
"type": "server/activate"
},
"audio": {
"bit_depth": 16,
"channels": 1,
"chunked_by": "implementation",
"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,
"legacy_header_reason": "aiosendspin classified the client/hello as older than send_ahead (unencrypted, a trust_level key, or player supported_commands in client/hello) and kept the header without it for that client",
"sample_rate": 8000,
"sent_audio_chunk_count": 199,
"sent_chunk_frames": [
{
"byte_count": 4809,
"leading_hex": "0400000000506c5dcd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506cbf7500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506d211d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506d82c500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506de46d02000200",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506e4615fafffaff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506ea7bdf8fff8ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506f096512001200",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506f6b0df1fff1ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000506fccb500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050702e5d0d000d00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050709005eaffeaff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005070f1ad10001000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050715355fdfffdff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005071b4fdf2fff2ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507216a514001400",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005072784defffefff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005072d9f502000200",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050733b9d0c000c00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050739d45eaffeaff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005073feed0f000f00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050746095fdfffdff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005074c23df2fff2ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507523e514001400",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005075858defffefff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005075e73502000200",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507648dd0c000c00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005076aa85eaffeaff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050770c2d0f000f00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050776dd5fdfffdff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005077cf7df2fff2ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005078312514001400",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507892cdefffefff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005078f47502000200",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005079561d0c000c00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005079b7c5eaffeaff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507a196d0f000f00",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507a7b15fdfffdff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507adcbdf2fff2ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507b3e6514001400",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507ba00df2fff2ff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507c01b5fdfffdff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507c635d04000400",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507cc505fdfffdff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507d26ad00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507d8855fefffeff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507de9fd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507e4ba5ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507ead4d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507f0ef5ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507f709d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000507fd245ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508033ed00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050809595ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005080f73d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508158e5ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005081ba8d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050821c35ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050827ddd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005082df85ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005083412d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005083a2d5ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005084047d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005084662500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005084c7cdffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050852975ffffffff",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050858b1d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005085ecc500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050864e6d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005086b01500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508711bd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005087736500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005087d50d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508836b500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005088985d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005088fa0500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050895bad00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005089bd5500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508a1efd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508a80a500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508ae24d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508b43f500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508ba59d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508c074500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508c68ed00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508cca9500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508d2c3d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508d8de500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508def8d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508e513500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508eb2dd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508f148500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508f762d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000508fd7d500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005090397d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050909b2500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005090fccd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050915e7500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005091c01d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509221c500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005092836d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005092e51500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509346bd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005093a86500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050940a0d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050946bb500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005094cd5d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050952f0500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509590ad00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005095f25500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509653fd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005096b5a500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005097174d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509778f500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005097da9d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050983c4500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050989ded00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005098ff9500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005099613d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "04000000005099c2e500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509a248d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509a863500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509ae7dd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509b498500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509bab2d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509c0cd500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509c6e7d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509cd02500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509d31cd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509d937500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509df51d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509e56c500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509eb86d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509f1a1500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509f7bbd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "0400000000509fdd6500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a03f0d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a0a0b500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a1025d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a1640500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a1c5ad00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a2275500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a288fd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a2eaa500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a34c4d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a3adf500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a40f9d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a4714500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a4d2ed00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a5349500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a5963d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a5f7e500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a6598d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a6bb3500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a71cdd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a77e8500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a7e02d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a841d500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a8a37d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a9052500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a966cd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050a9c87500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050aa2a1d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050aa8bc500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050aaed6d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050ab4f1500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050abb0bd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050ac126500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050ac740d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050acd5b500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050ad375d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050ad990500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050adfaad00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050ae5c5500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050aebdfd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050af1fa500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050af814d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050afe2f500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b0449d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b0a64500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b107ed00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b1699500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b1cb3d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b22ce500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b28e8d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b2f03500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b351dd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b3b38500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b4152d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b476d500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b4d87d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b53a2500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b59bcd00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b5fd7500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b65f1d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b6c0c500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b7226d00000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b7841500000000",
"payload_byte_count": 4800
},
{
"byte_count": 4809,
"leading_hex": "040000000050b7e5bd00000000",
"payload_byte_count": 4800
}
],
"sent_codec_header_sha256": null,
"sent_encoded_byte_count": 955200,
"sent_encoded_sha256": "fde28f16c1fe19351b91eb3f21a5d6cbc7ca4e5c952ce3063b377a264e28b158",
"source_flac_sha256": "8fdda8244e318c63cd8b699fe461cd7cdddbb729327a0ba00d1bfdbe2192fe17",
"source_pcm_sha256": "9d447b5b270bc99b45bb9a616937e436c941ca56c477f9cbe16a93275a6b059e",
"trimmed_source_frames": 0
},
"availability_trace": [
{
"available": true,
"type": "client/state"
},
{
"phase": "sending",
"roles": [
"player"
],
"type": "stream/start"
},
{
"phase": "sent",
"roles": [
"player"
],
"type": "stream/start"
},
{
"available": true,
"type": "client/state"
},
{
"available": true,
"type": "client/state"
}
],
"client": {
"active_roles": [
"player@v1",
"controller@v1",
"metadata@v1"
],
"client_id": "KMEVv4GSwubMclvq7jtC7Gu8Peq3BLG7BNZS6dtOYTg",
"name": "sendspin-js-client",
"supported_roles": [
"player@v1",
"controller@v1",
"metadata@v1"
]
},
"discovery_method": "registry_fallback",
"group_updates": [
{
"payload": {
"group_id": "36bc1d8a-bbf4-4329-818b-7ea6520b73f4",
"group_name": "sendspin-js-client",
"playback_state": "stopped"
},
"type": "group/update"
},
{
"payload": {
"group_id": "36bc1d8a-bbf4-4329-818b-7ea6520b73f4",
"group_name": "sendspin-js-client",
"playback_state": "playing"
},
"type": "group/update"
},
{
"payload": {
"group_id": "36bc1d8a-bbf4-4329-818b-7ea6520b73f4",
"group_name": "sendspin-js-client",
"playback_state": "stopped"
},
"type": "group/update"
}
],
"implementation": "aiosendspin",
"initiator_role": "server",
"peer_hello": {
"payload": {
"device_info": {
"manufacturer": "Unknown",
"software_version": "Node.js/22"
},
"legacy_pair_methods_list_used": true,
"name": "sendspin-js-client",
"player@v1_support": {
"buffer_capacity": 5760000,
"supported_commands": [
"volume",
"mute"
],
"supported_formats": [
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 48000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 44100
}
]
},
"supported_pair_methods": {},
"supported_roles": [
"player@v1",
"controller@v1",
"metadata@v1"
],
"trust_level_used": true,
"unpaired_access": {
"enabled": true
}
},
"type": "client/hello"
},
"preferred_codec": "pcm",
"role": "server",
"scenario_id": "server-initiated-audio-chunk-framing",
"server_id": "dsIlKLOY1OqUfE4ig1m3id0r6yr2D5_3R-FJLQZI30I",
"server_name": "aiosendspin server",
"status": "ok",
"stream": {
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"codec_header": null,
"sample_rate": 48000
},
"time_exchange": [
{
"payload": {
"client_transmitted": 277298
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 277298,
"server_received": 1348964011,
"server_transmitted": 1348964356
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 282547
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 282547,
"server_received": 1348966175,
"server_transmitted": 1348966496
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 284305
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 284305,
"server_received": 1348967931,
"server_transmitted": 1348968227
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 285417
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 285417,
"server_received": 1348968826,
"server_transmitted": 1348969189
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 287167
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 287167,
"server_received": 1348971240,
"server_transmitted": 1348971426
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 288699
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 288699,
"server_received": 1348972089,
"server_transmitted": 1348972273
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 289560
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 289560,
"server_received": 1348973004,
"server_transmitted": 1348973113
},
"type": "server/time"
},
{
"payload": {
"client_transmitted": 290422
},
"type": "client/time"
},
{
"payload": {
"client_transmitted": 290422,
"server_received": 1348973977,
"server_transmitted": 1348974123
},
"type": "server/time"
},
{
"type": "other-sent"
}
]
}
Client summary (JSON)
RAW{
"audio": {
"audio_chunk_count": 199,
"received_chunk_frames": null,
"received_encoded_byte_count": null,
"received_encoded_sha256": null,
"received_pcm_sha256": "d601ec75c603f35c4b7ae8583e3a93828e9ad076a74f032e26a3a96385d921f9",
"received_sample_count": 477600
},
"client_id": "sendspin-js-client-id",
"client_name": "sendspin-js-client",
"implementation": "sendspin-js",
"initiator_role": "server",
"peer_hello": null,
"preferred_codec": "pcm",
"role": "client",
"scenario_id": "server-initiated-audio-chunk-framing",
"server": null,
"status": "ok",
"stream": {
"bit_depth": 16,
"channels": 2,
"codec": "pcm",
"sample_rate": 48000
}
}Client log
RAW[Opus] Native decoder not available, falling back to FLAC/PCM
Sendspin: no storage provided, using an ephemeral identity (client_id changes each session, pairing unavailable)
Sendspin: Adopted open WebSocket
Sendspin: Connected to server
[Opus] Native decoder not available, falling back to FLAC/PCM
Sendspin: Stream started { codec: 'pcm', sample_rate: 48000, channels: 2, bit_depth: 16 }
Sendspin: Codec=PCM, SampleRate=48000Hz, Channels=2, BitDepth=16bit
Sendspin: Stream ended
Sendspin: WebSocket disconnected
Sendspin: Connection closed
{
"status": "ok",
"implementation": "sendspin-js",
"role": "client",
"scenario_id": "server-initiated-audio-chunk-framing",
"initiator_role": "server",
"preferred_codec": "pcm",
"client_id": "sendspin-js-client-id",
"client_name": "sendspin-js-client",
"peer_hello": null,
"server": null,
"stream": {
"codec": "pcm",
"sample_rate": 48000,
"channels": 2,
"bit_depth": 16
},
"audio": {
"audio_chunk_count": 199,
"received_encoded_sha256": null,
"received_pcm_sha256": "d601ec75c603f35c4b7ae8583e3a93828e9ad076a74f032e26a3a96385d921f9",
"received_sample_count": 477600,
"received_encoded_byte_count": null,
"received_chunk_frames": null
}
}
Server build log · python-adapters · built · 0.24s
RAW.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/player/audio_transformers.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/player/capabilities.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/player/events.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/player/group.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/player/types.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/player/v1.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/registry.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/scheduled_state.py'... Listing 'src/conformance/_vendor/aiosendspin/server/roles/source'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/source/__init__.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/source/events.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/source/stream.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/source/v1.py'... Listing 'src/conformance/_vendor/aiosendspin/server/roles/visualizer'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer/__init__.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer/features.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer/group.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer/packing.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer/types.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer/v1.py'... Listing 'src/conformance/_vendor/aiosendspin/server/roles/visualizer_draft_r1'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer_draft_r1/__init__.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer_draft_r1/features.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer_draft_r1/packing.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/roles/visualizer_draft_r1/role.py'... Compiling 'src/conformance/_vendor/aiosendspin/server/server.py'... Compiling 'src/conformance/_vendor/aiosendspin/util.py'... 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/cli.py'... Compiling 'src/conformance/flac.py'... Compiling 'src/conformance/merge.py'... Compiling 'src/conformance/pcm.py'... Compiling 'src/conformance/registry.py'... Listing 'src/conformance/validator'... Compiling 'src/conformance/validator/__init__.py'... Compiling 'src/conformance/validator/checks.py'... Compiling 'src/conformance/validator/cli.py'... Compiling 'src/conformance/validator/code_pairing.py'... Compiling 'src/conformance/validator/code_pairing_checks.py'... Compiling 'src/conformance/validator/discovery.py'... Compiling 'src/conformance/validator/findings.py'... Compiling 'src/conformance/validator/noncompliance_refs.py'... Compiling 'src/conformance/validator/prompter.py'... Compiling 'src/conformance/validator/recorder.py'... Compiling 'src/conformance/validator/report.py'... Compiling 'src/conformance/validator/session.py'... Compiling 'src/conformance/validator/storage.py'... Compiling 'src/conformance/validator/suite_checks.py'... Compiling 'src/conformance/validator/suites.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'... Compiling 'scripts/vendor_aiosendspin.py'...
Client build log · sendspin-js-adapters · built · 97.70s
RAWNo build detail was recorded.