Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions docs/integration-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -725,8 +725,7 @@ Configuration passed to `client.add_player()`.
| `initial_static_delay_ms` | `uint16_t` | `0` | Initial value for the user-adjustable static delay in milliseconds. Overridden by the persisted value if a `SendspinPersistenceProvider` is set. |
| `psram_stack` | `bool` | `false` | Allocate sync/decode task stack in PSRAM (ESP-IDF only) |
| `priority` | `unsigned` | `18` | FreeRTOS priority for the sync/decode task (ESP-IDF only). The default value, `18`, is one above the default `httpd_priority` (`17`). If you customize priorities, keep this above `httpd_priority` so the HTTP server task cannot starve the decoder during the initial burst of encoded audio that fills the buffer at stream start. |
| `interpolation_buffer_location` | `MemoryLocation` | `PREFER_EXTERNAL` | Memory placement preference for the interpolation transfer buffer. `PREFER_EXTERNAL` tries SPIRAM first and falls back to internal RAM; `PREFER_INTERNAL` does the reverse. ESP-IDF only; ignored on host. |
| `decode_buffer_location` | `MemoryLocation` | `PREFER_EXTERNAL` | Memory placement preference for the decode transfer buffer. Same semantics as `interpolation_buffer_location`. ESP-IDF only; ignored on host. |
| `decode_buffer_location` | `MemoryLocation` | `PREFER_EXTERNAL` | Memory placement preference for the decode transfer buffer. `PREFER_EXTERNAL` tries SPIRAM first and falls back to internal RAM; `PREFER_INTERNAL` does the reverse. ESP-IDF only; ignored on host. |

Each entry in `audio_formats` is an `AudioSupportedFormatObject`:

Expand Down Expand Up @@ -916,4 +915,4 @@ Set with `SendspinClient::set_log_level()`. Only affects host builds; ESP-IDF bu
| `PREFER_EXTERNAL` | Prefer SPIRAM, fall back to internal RAM (ESP-IDF only) |
| `PREFER_INTERNAL` | Prefer internal RAM, fall back to SPIRAM (ESP-IDF only) |

Used by `SendspinClientConfig::websocket_payload_location` to control where the per-connection WebSocket payload reassembly buffer is allocated, and by `PlayerRoleConfig::interpolation_buffer_location` and `decode_buffer_location` to control where the player's transfer buffers are allocated. Ignored on host platforms (no internal/external distinction).
Used by `SendspinClientConfig::websocket_payload_location` to control where the per-connection WebSocket payload reassembly buffer is allocated, and by `PlayerRoleConfig::decode_buffer_location` to control where the player's decode transfer buffer is allocated. Ignored on host platforms (no internal/external distinction).
2 changes: 1 addition & 1 deletion docs/internals.md
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ Where `decoded_timestamp` is the server timestamp converted to client time (via
|-------------|--------|
| > +5000 us (or +500 us settling) | **Hard sync ahead**: insert silence frames to fill the gap |
| < -5000 us (or -500 us settling) | **Hard sync behind**: drop the decoded chunk |
| +100 to +5000 us | **Soft sync**: insert one interpolated frame (average of first two) |
| +100 to +5000 us | **Soft sync**: insert one interpolated frame near the end (average of last two) |
| -100 to -5000 us | **Soft sync**: remove last frame (blend into second-to-last) |
| -100 to +100 us | **Dead zone**: pass audio through unmodified |

Expand Down
4 changes: 0 additions & 4 deletions include/sendspin/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,10 +119,6 @@ struct PlayerRoleConfig {
unsigned priority{DEFAULT_SYNC_TASK_PRIORITY}; ///< FreeRTOS priority for the sync/decode
///< task (ESP-IDF only)

/// @brief Memory placement for the interpolation transfer buffer (ESP-IDF only; ignored on
/// host). Defaults to PREFER_EXTERNAL (SPIRAM).
MemoryLocation interpolation_buffer_location{MemoryLocation::PREFER_EXTERNAL};

/// @brief Memory placement for the decode transfer buffer (ESP-IDF only; ignored on host).
/// Defaults to PREFER_EXTERNAL (SPIRAM).
MemoryLocation decode_buffer_location{MemoryLocation::PREFER_EXTERNAL};
Expand Down
Loading
Loading