Case
sendspin-go -> SendspinKit
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
sendspin-go
Client
SendspinKit
Status
Passed
FLAC chunk bytes match exactly
Inspection
Summaries, logs, and builds
Matrix result
RAW{
"case_dir": "artifacts/results/data/macos__server-initiated-flac__sendspin-go__to__SendspinKit",
"client_exit_code": 0,
"client_impl": "SendspinKit",
"reason": "FLAC chunk bytes match exactly",
"scenario_id": "server-initiated-flac",
"server_exit_code": 0,
"server_impl": "sendspin-go",
"status": "passed"
}Server summary (JSON)
RAW{
"audio": {
"bit_depth": 24,
"channels": 1,
"clip_seconds": 5,
"duration_seconds": 5,
"fixture": "/Users/runner/work/conformance/conformance/repos/sendspin-cli/tests/fixtures/almost_silent.flac",
"frame_count": 40000,
"sample_rate": 8000,
"sent_audio_chunk_count": 1,
"sent_codec_header_sha256": "f7c0c5cea7e7afcc5cad7f40b3c292c811132bd60d65f8a55c383722ce6c1edb",
"sent_encoded_byte_count": 14698,
"sent_encoded_sha256": "7bc1b2ee421ee57d7ea84fee6b2a8301c83c56264081475e2c3f4ca7bd53a070",
"source_flac_sha256": "8fdda8244e318c63cd8b699fe461cd7cdddbb729327a0ba00d1bfdbe2192fe17",
"source_pcm_sha256": "f9ae8fe5e6c34fc6baa67cbb4a97224d777a0bfacf6d996449be1054824f66bf"
},
"client": {
"client_id": "SendspinKit-client-id",
"name": "SendspinKit-client",
"supported_roles": [
"player@v1"
]
},
"discovery_method": "registry_advertised",
"implementation": "sendspin-go",
"initiator_role": "server",
"peer_hello": {
"payload": {
"client_id": "SendspinKit-client-id",
"device_info": {
"manufacturer": "Apple",
"product_name": "Mac",
"software_version": "Version 26.4 (Build 25E246)"
},
"name": "SendspinKit-client",
"player@v1_support": {
"buffer_capacity": 960000,
"supported_commands": [],
"supported_formats": [
{
"bit_depth": 16,
"channels": 1,
"codec": "flac",
"sample_rate": 8000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "flac",
"sample_rate": 8000
},
{
"bit_depth": 16,
"channels": 1,
"codec": "flac",
"sample_rate": 44100
},
{
"bit_depth": 16,
"channels": 2,
"codec": "flac",
"sample_rate": 44100
},
{
"bit_depth": 16,
"channels": 1,
"codec": "flac",
"sample_rate": 48000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "flac",
"sample_rate": 48000
}
]
},
"supported_roles": [
"player@v1"
],
"version": 1
},
"type": "client/hello"
},
"preferred_codec": "flac",
"role": "server",
"scenario_id": "server-initiated-flac",
"server_id": "sendspin-go-server",
"server_name": "sendspin-go server",
"status": "ok",
"stream": {
"bit_depth": 24,
"channels": 1,
"codec": "flac",
"codec_header": "ZkxhQ4AAACICQAJAAAAMAADIAfQBcAAHkwCKnZ7FLvzY30lWx+3k6wJC",
"sample_rate": 8000
}
}Server log
RAW{
"audio": {
"bit_depth": 24,
"channels": 1,
"clip_seconds": 5,
"duration_seconds": 5,
"fixture": "/Users/runner/work/conformance/conformance/repos/sendspin-cli/tests/fixtures/almost_silent.flac",
"frame_count": 40000,
"sample_rate": 8000,
"sent_audio_chunk_count": 1,
"sent_codec_header_sha256": "f7c0c5cea7e7afcc5cad7f40b3c292c811132bd60d65f8a55c383722ce6c1edb",
"sent_encoded_byte_count": 14698,
"sent_encoded_sha256": "7bc1b2ee421ee57d7ea84fee6b2a8301c83c56264081475e2c3f4ca7bd53a070",
"source_flac_sha256": "8fdda8244e318c63cd8b699fe461cd7cdddbb729327a0ba00d1bfdbe2192fe17",
"source_pcm_sha256": "f9ae8fe5e6c34fc6baa67cbb4a97224d777a0bfacf6d996449be1054824f66bf"
},
"client": {
"client_id": "SendspinKit-client-id",
"name": "SendspinKit-client",
"supported_roles": [
"player@v1"
]
},
"discovery_method": "registry_advertised",
"implementation": "sendspin-go",
"initiator_role": "server",
"peer_hello": {
"payload": {
"client_id": "SendspinKit-client-id",
"device_info": {
"manufacturer": "Apple",
"product_name": "Mac",
"software_version": "Version 26.4 (Build 25E246)"
},
"name": "SendspinKit-client",
"player@v1_support": {
"buffer_capacity": 960000,
"supported_commands": [],
"supported_formats": [
{
"bit_depth": 16,
"channels": 1,
"codec": "flac",
"sample_rate": 8000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "flac",
"sample_rate": 8000
},
{
"bit_depth": 16,
"channels": 1,
"codec": "flac",
"sample_rate": 44100
},
{
"bit_depth": 16,
"channels": 2,
"codec": "flac",
"sample_rate": 44100
},
{
"bit_depth": 16,
"channels": 1,
"codec": "flac",
"sample_rate": 48000
},
{
"bit_depth": 16,
"channels": 2,
"codec": "flac",
"sample_rate": 48000
}
]
},
"supported_roles": [
"player@v1"
],
"version": 1
},
"type": "client/hello"
},
"preferred_codec": "flac",
"role": "server",
"scenario_id": "server-initiated-flac",
"server_id": "sendspin-go-server",
"server_name": "sendspin-go server",
"status": "ok",
"stream": {
"bit_depth": 24,
"channels": 1,
"codec": "flac",
"codec_header": "ZkxhQ4AAACICQAJAAAAMAADIAfQBcAAHkwCKnZ7FLvzY30lWx+3k6wJC",
"sample_rate": 8000
}
}
Client summary (JSON)
RAW{
"audio": {
"audio_chunk_count": 1,
"received_encoded_sha256": "7bc1b2ee421ee57d7ea84fee6b2a8301c83c56264081475e2c3f4ca7bd53a070",
"received_sample_count": 0
},
"client_id": "SendspinKit-client-id",
"client_name": "SendspinKit-client",
"implementation": "SendspinKit",
"initiator_role": "server",
"peer_hello": {
"payload": {
"connection_reason": "playback",
"name": "sendspin-go server",
"server_id": "sendspin-go-server",
"version": 1
},
"type": "server/hello"
},
"preferred_codec": "flac",
"role": "client",
"scenario_id": "server-initiated-flac",
"server": {
"connection_reason": "playback",
"name": "sendspin-go server",
"server_id": "sendspin-go-server",
"version": 1
},
"status": "ok",
"stream": {}
}Client log
RAW[ADAPTER] Listening for server connection on ws://127.0.0.1:20022/sendspin
[ADAPTER] Connected to server: sendspin-go server
[ADAPTER] Metadata: Almost Silent
[ADAPTER] Disconnected: connectionLost
{
"audio" : {
"audio_chunk_count" : 1,
"received_encoded_sha256" : "7bc1b2ee421ee57d7ea84fee6b2a8301c83c56264081475e2c3f4ca7bd53a070",
"received_sample_count" : 0
},
"client_id" : "SendspinKit-client-id",
"client_name" : "SendspinKit-client",
"implementation" : "SendspinKit",
"initiator_role" : "server",
"peer_hello" : {
"payload" : {
"connection_reason" : "playback",
"name" : "sendspin-go server",
"server_id" : "sendspin-go-server",
"version" : 1
},
"type" : "server\/hello"
},
"preferred_codec" : "flac",
"role" : "client",
"scenario_id" : "server-initiated-flac",
"server" : {
"connection_reason" : "playback",
"name" : "sendspin-go server",
"server_id" : "sendspin-go-server",
"version" : 1
},
"status" : "ok",
"stream" : {
}
}
[ADAPTER] Summary written to artifacts/results/data/macos__server-initiated-flac__sendspin-go__to__SendspinKit/client-summary.json
Server build log · sendspin-go-server · built · 0.73s
RAWNo build detail was recorded.
Client build log · SendspinKit-client · built · 41.07s
RAWtaPlaneCommand.swift [35/73] Compiling SendspinKit DataPlaneSink.swift [36/73] Compiling SendspinKit NoOpAudioOutput.swift [37/73] Compiling SendspinKit PCMRingBuffer.swift [38/73] Compiling SendspinKit SyncCorrection.swift [39/73] Compiling SendspinKit VolumeController.swift [40/73] Compiling SendspinKit ArtworkConfiguration.swift [41/73] Compiling SendspinKit ClientTypes.swift [42/73] Compiling SendspinKit ClockSyncStats.swift [43/73] Compiling SendspinKit ConnectionEvent.swift [44/73] Compiling SendspinKit ConnectionState.swift [45/73] Compiling SendspinKit ControlEventSink.swift [46/73] Compiling SendspinKit PlayerConfiguration.swift [47/73] Compiling SendspinKit SendspinClient+ClockSync.swift [48/73] Compiling SendspinKit SendspinClient+Commands.swift [49/73] Compiling SendspinKit SendspinClient+Discovery.swift [50/73] Compiling SendspinKit ClientRole.swift [51/73] Compiling SendspinKit ClientStateMessages.swift [52/73] Compiling SendspinKit CommandMessages.swift [53/73] Compiling SendspinKit GoodbyeMessage.swift [54/73] Compiling SendspinKit HelloMessages.swift [55/73] Compiling SendspinKit SendspinMessage.swift [56/73] Compiling SendspinKit ServerStateMessages.swift [57/73] Compiling SendspinKit StreamMessages.swift [58/73] Compiling SendspinKit TimeMessages.swift [59/73] Compiling SendspinKit SendspinKit.swift [60/73] Compiling SendspinKit ClockSyncProtocol.swift [61/73] Compiling SendspinKit ClockSynchronizer.swift [62/73] Compiling SendspinKit MonotonicClock.swift [63/73] Compiling SendspinKit SendspinTimeFilter.swift [64/73] Compiling SendspinKit TimeFilterSnapshot.swift [65/73] Compiling SendspinKit FrameInbox.swift [66/73] Compiling SendspinKit NWWebSocketTransport.swift [67/73] Compiling SendspinKit SendspinEncoding.swift [68/73] Compiling SendspinKit SendspinTransport.swift [69/73] Compiling SendspinKit TransportError.swift [70/73] Compiling SendspinKit WatermarkedSink.swift [71/75] Compiling ConformanceSendspinKitClient main.swift [72/75] Emitting module ConformanceSendspinKitClient [72/75] Write Objects.LinkFileList [73/75] Linking ConformanceSendspinKitClient [74/75] Applying ConformanceSendspinKitClient Build complete! (30.21s) Fetching https://github.com/sbooth/flac-binary-xcframework.git Fetching https://github.com/sbooth/ogg-binary-xcframework.git [1/32] Fetching flac-binary-xcframework [33/55] Fetching flac-binary-xcframework, ogg-binary-xcframework Fetched https://github.com/sbooth/ogg-binary-xcframework.git from cache (0.43s) Fetched https://github.com/sbooth/flac-binary-xcframework.git from cache (0.43s) Fetching https://github.com/alta/swift-opus.git [1/783] Fetching swift-opus Fetched https://github.com/alta/swift-opus.git from cache (0.50s) Creating working copy for https://github.com/sbooth/flac-binary-xcframework.git Creating working copy for https://github.com/sbooth/ogg-binary-xcframework.git Creating working copy for https://github.com/alta/swift-opus.git Working copy of https://github.com/sbooth/ogg-binary-xcframework.git resolved at 0.1.3 Working copy of https://github.com/sbooth/flac-binary-xcframework.git resolved at 0.2.0 Working copy of https://github.com/alta/swift-opus.git resolved at 0.0.2 Downloading binary artifact https://github.com/sbooth/ogg-binary-xcframework/releases/download/0.1.3/ogg.xcframework.zip Downloading binary artifact https://github.com/sbooth/flac-binary-xcframework/releases/download/0.2.0/FLAC.xcframework.zip [32768/3922418] Downloading https://github.com/sbooth/flac-binary-xcframework/releases/download/0.2.0/FLAC.xcframework.zip [65518/4541165] Downloading https://github.com/sbooth/flac-binary-xcframework/releases/download/0.2.0/FLAC.xcframework.zip, https://github.com/sbooth/ogg-binary-xcframework/releases/download/0.1.3/ogg.xcframework.zip Downloaded https://github.com/sbooth/ogg-binary-xcframework/releases/download/0.1.3/ogg.xcframework.zip (0.64s) Downloaded https://github.com/sbooth/flac-binary-xcframework/releases/download/0.2.0/FLAC.xcframework.zip (0.81s)