Commit f894604
authored
chore: upgrade SendSpin.SDK 9.2.0 -> 9.3.0 (#289)
Hands sync correction back to the SDK. BufferedAudioSampleSource ran its
own frame drop/insert corrector against ReadRaw, which duplicated the
SDK's interpolation, exceeded the spec's +/-0.5% speed cap by ~20x, and
could not coordinate with the one-shot snap tier 9.3.0 adds - both
correctors would act on the same measured error. Reading through
ITimedAudioBuffer.Read puts the whole loop in one place, where the tiers
already stand down for one another.
Removes ~330 lines: the corrector, its anti-oscillation debounce, the
startup deadband, and the ArrayPool staging buffer the external path
needed. MaxSpeedCorrection and ResamplingThresholdMicroseconds drop out
of PulseAudioSyncOptions as inert on this path - the buffer applies
correction as frame stepping rather than driving a resampler, and a
value above the spec cap is clamped anyway.
Read still carries a stale [Obsolete] pointing at ReadRaw plus an
external provider. The 9.x line froze its published surface and so could
not remove it; 9.3.0 rewrote the method's own docs to describe it as the
complete path and put the new snap tier behind it. Suppressed at the
call site with that reasoning recorded.
Also stops advertising a fixed 32MB buffer_capacity - roughly 16 minutes
of Opus, far past what the decoded buffer holds - and lets the SDK
derive it from real capacity instead. The spec makes buffer_capacity a
promise the server may fill toward, so over-advertising only licensed it
to queue audio we would discard unplayed (see #272). Caveat on the 9.x
line: the derivation assumes the SDK's own 30s default and has no public
hook for ours, so BUFFER_SECONDS below 30 still over-advertises, by far
less than before.
SyncAlignmentTests now exercise the same Read path the app uses and
assert on outcome - final sync error and correction actually applied -
rather than on a recommended playback rate that stays 1.0 when
correction is expressed as frame stepping.1 parent 8526016 commit f894604
6 files changed
Lines changed: 121 additions & 448 deletions
File tree
- multiroom-audio
- src/MultiRoomAudio
- Audio
- Services
- tests/MultiRoomAudio.Tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
16 | 18 | | |
17 | 19 | | |
18 | 20 | | |
| |||
0 commit comments