Test

Client initiates connection and client wants PCM

Start the server first, then the client. The client discovers or looks up the server, initiates the WebSocket connection, advertises PCM as its only supported audio format, streams audio derived from almost_silent.flac, and compares canonical PCM hashes.

Matrix

aiosendspin acting as the server.

Axis

Server \ Client

Client

SendspinKit

Client

aiosendspin

Client

sendspin-cpp

Client

sendspin-dotnet

Client

sendspin-go

Client

sendspin-js

Client

sendspin-jvm

Client

sendspin-rs

Server

aiosendspin

PassedFailedFailedFailedPassedFailedPassedFailed

Matrix

aiosendspin acting as the client.

Axis

Server \ Client

Client

aiosendspin

Server

sendspin-go

Failed

Test

Server initiates connection and client wants PCM

Start the server first, then the client. The client advertises a listener and PCM as its only supported audio format, the server connects in, streams audio derived from almost_silent.flac, disconnects, and the matrix compares canonical PCM hashes.

Matrix

aiosendspin acting as the server.

Axis

Server \ Client

Client

SendspinKit

Client

aiosendspin

Client

sendspin-cpp

Client

sendspin-dotnet

Client

sendspin-go

Client

sendspin-js

Client

sendspin-jvm

Client

sendspin-rs

Server

aiosendspin

PassedFailedFailedFailedPassedFailedPassedFailed

Matrix

aiosendspin acting as the client.

Axis

Server \ Client

Client

aiosendspin

Server

sendspin-go

Failed

Test

Server initiates connection and client wants Metadata

Start the server first, then the client. The client advertises a listener, the server connects in, sends a metadata state update, disconnects, and the matrix compares a normalized metadata snapshot.

Matrix

aiosendspin acting as the server.

Axis

Server \ Client

Client

SendspinKit

Client

aiosendspin

Client

sendspin-cpp

Client

sendspin-dotnet

Client

sendspin-go

Client

sendspin-js

Client

sendspin-jvm

Client

sendspin-rs

Server

aiosendspin

PassedFailedFailedFailedPassedPassedPassedFailed

Matrix

aiosendspin acting as the client.

Axis

Server \ Client

Client

aiosendspin

Server

sendspin-go

Failed

Test

Server initiates connection and client wants Artwork

Start the server first, then the client. The client advertises a listener, the server connects in, streams album artwork, disconnects, and the matrix compares the received bytes against the server's encoded artwork.

3 passed1 unsupported5 failedView test sourceScenario page

Matrix

aiosendspin acting as the server.

Axis

Server \ Client

Client

SendspinKit

Client

aiosendspin

Client

sendspin-cpp

Client

sendspin-dotnet

Client

sendspin-go

Client

sendspin-js

Client

sendspin-jvm

Client

sendspin-rs

Server

aiosendspin

PassedFailedFailedFailedPassedUnsupportedPassedFailed

Matrix

aiosendspin acting as the client.

Axis

Server \ Client

Client

aiosendspin

Server

sendspin-go

Failed

Test

Server initiates connection and client wants Controller

Start the server first, then the client. The client advertises a listener, the server connects in, observes controller state, receives a control command, disconnects, and the matrix verifies the recorded command.

Matrix

aiosendspin acting as the server.

Axis

Server \ Client

Client

SendspinKit

Client

aiosendspin

Client

sendspin-cpp

Client

sendspin-dotnet

Client

sendspin-go

Client

sendspin-js

Client

sendspin-jvm

Client

sendspin-rs

Server

aiosendspin

PassedFailedFailedFailedPassedPassedPassedFailed

Matrix

aiosendspin acting as the client.

Axis

Server \ Client

Client

aiosendspin

Server

sendspin-go

Failed

Test

Server initiates connection and client wants FLAC

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.

3 passed1 unsupported5 failedView test sourceScenario page

Matrix

aiosendspin acting as the server.

Axis

Server \ Client

Client

SendspinKit

Client

aiosendspin

Client

sendspin-cpp

Client

sendspin-dotnet

Client

sendspin-go

Client

sendspin-js

Client

sendspin-jvm

Client

sendspin-rs

Server

aiosendspin

PassedFailedFailedFailedPassedUnsupportedPassedFailed

Matrix

aiosendspin acting as the client.

Axis

Server \ Client

Client

aiosendspin

Server

sendspin-go

Failed

Test

Server initiates connection and client wants OPUS

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.

1 passed6 unsupported1 failedView test sourceScenario page

Matrix

aiosendspin acting as the server.

Axis

Server \ Client

Client

SendspinKit

Client

aiosendspin

Client

sendspin-cpp

Client

sendspin-dotnet

Client

sendspin-go

Client

sendspin-js

Client

sendspin-jvm

Client

sendspin-rs

Server

aiosendspin

PassedFailedUnsupportedUnsupportedUnsupportedUnsupportedUnsupportedUnsupported

Test

Server initiates connection and client wants 24-bit PCM

Start the server first, then the client. The server emits PCM in the 24-bit packed wire format (3-byte packed, little-endian, two's complement). The client advertises a listener and 24-bit PCM as its only supported audio format. The matrix compares canonical PCM hashes after the client unpacks the 24-bit stream. A client SDK with no 24-bit decode path misreads the bytes and produces a hash mismatch.

Matrix

aiosendspin acting as the server.

Axis

Server \ Client

Client

SendspinKit

Client

aiosendspin

Client

sendspin-cpp

Client

sendspin-dotnet

Client

sendspin-go

Client

sendspin-js

Client

sendspin-jvm

Client

sendspin-rs

Server

aiosendspin

PassedFailedFailedFailedFailedFailedPassedFailed

Matrix

aiosendspin acting as the client.

Axis

Server \ Client

Client

aiosendspin

Server

sendspin-go

Failed

Test

Client renegotiates PCM bit depth via stream/request-format

Start the server first, then the client. The client connects, advertises two PCM formats (24-bit then 16-bit), and the server starts streaming the preferred 24-bit format. The client then emits stream/request-format asking for the 16-bit format, the server re-emits stream/start with the new format, and the matrix verifies the client observed the renegotiated 16-bit stream.

1 passed6 unsupported1 failedView test sourceScenario page

Matrix

aiosendspin acting as the server.

Axis

Server \ Client

Client

SendspinKit

Client

aiosendspin

Client

sendspin-cpp

Client

sendspin-dotnet

Client

sendspin-go

Client

sendspin-js

Client

sendspin-jvm

Client

sendspin-rs

Server

aiosendspin

UnsupportedUnsupportedUnsupportedUnsupportedUnsupportedUnsupportedPassedFailed

Test

Client renegotiates PCM to FLAC via stream/request-format

Start the server first, then the client. The client connects, advertises PCM then FLAC, and the server starts streaming the preferred PCM format. The client then emits stream/request-format asking for FLAC, the server re-emits stream/start with the FLAC format, and the matrix verifies the client observed the renegotiated FLAC stream.

1 passed6 unsupported1 failedView test sourceScenario page

Matrix

aiosendspin acting as the server.

Axis

Server \ Client

Client

SendspinKit

Client

aiosendspin

Client

sendspin-cpp

Client

sendspin-dotnet

Client

sendspin-go

Client

sendspin-js

Client

sendspin-jvm

Client

sendspin-rs

Server

aiosendspin

UnsupportedUnsupportedUnsupportedUnsupportedUnsupportedUnsupportedPassedFailed