Implementation
sendspin-cpp filtered overview
This view narrows the conformance overview to cases where sendspin-cpp participates as either the server or the client.
Total
20
matching cases
Passed
4
passing
Unsupported
2
not supported
Failed
14
failing
Declared capability
Declared audio formats
Every audio format the sendspin-cpp client advertised in a client/hello captured by a server in this report, and whether any case negotiated exactly that codec, sample rate, bit depth and channel count. Not verified means no case ever carried the format, so the claim is untested — neither a pass nor a failure. This table compares a claim against the wire only; it does not say whether a scenario got the format it set out to test.
Declared format | Claim status | Declared in | Exercised by |
|---|---|---|---|
| FLAC · mono · 8 kHz · 16-bit | |||
| PCM · mono · 8 kHz · 16-bit |
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.
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.
Test
Server initiates a protocol baseline session
Start the server first, then the client. The client advertises a listener and a PCM player capability, the server connects in, and both adapters record spec-revision-pinned evidence for the handshake, role activation, initial state, stream negotiation, and timestamped player chunks. Media decoding and rendered audio are explicitly outside this test.
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.
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.
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.
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.
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.
Matrix
sendspin-cpp acting as the client.
Axis | |
|---|---|
| Failed |
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.
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.
Matrix
sendspin-cpp acting as the client.
Axis | |
|---|---|
| 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.
Matrix
sendspin-cpp acting as the client.
Axis | |
|---|---|
| Unsupported |
Test
Server initiates connection over the legacy unencrypted transition mode
Start the server first, then the client. The server opts into aiosendspin's non-spec unencrypted transition mode (allow_unencrypted) rather than the real encrypted Noise handshake, to keep tracking the plaintext legacy path used by implementations that have not yet adopted the spec's mandatory encryption. This scenario is expected to be dropped once every tracked implementation supports the real handshake.
Matrix
sendspin-cpp acting as the client.
Axis | |
|---|---|
| Passed |