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

sendspin-js acting as the client.

Axis

Server \ Client

Client

sendspin-js

Server

aiosendspin

Failed

Server

sendspin-go

Passed

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

sendspin-js acting as the client.

Axis

Server \ Client

Client

sendspin-js

Server

aiosendspin

Failed

Server

sendspin-go

Passed

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

sendspin-js acting as the client.

Axis

Server \ Client

Client

sendspin-js

Server

aiosendspin

Passed

Server

sendspin-go

Passed

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.

0 passed2 unsupportedView test sourceScenario page

Matrix

sendspin-js acting as the client.

Axis

Server \ Client

Client

sendspin-js

Server

aiosendspin

Unsupported

Server

sendspin-go

Unsupported

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

sendspin-js acting as the client.

Axis

Server \ Client

Client

sendspin-js

Server

aiosendspin

Passed

Server

sendspin-go

Passed

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.

0 passed2 unsupportedView test sourceScenario page

Matrix

sendspin-js acting as the client.

Axis

Server \ Client

Client

sendspin-js

Server

aiosendspin

Unsupported

Server

sendspin-go

Unsupported

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.

0 passed1 unsupportedView test sourceScenario page

Matrix

sendspin-js acting as the client.

Axis

Server \ Client

Client

sendspin-js

Server

aiosendspin

Unsupported

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

sendspin-js acting as the client.

Axis

Server \ Client

Client

sendspin-js

Server

aiosendspin

Failed

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.

0 passed1 unsupportedView test sourceScenario page

Matrix

sendspin-js acting as the client.

Axis

Server \ Client

Client

sendspin-js

Server

aiosendspin

Unsupported

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.

0 passed1 unsupportedView test sourceScenario page

Matrix

sendspin-js acting as the client.

Axis

Server \ Client

Client

sendspin-js

Server

aiosendspin

Unsupported