Sound uploader: split clips play back with clip 2 skipped #1310
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#1310
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What happened
I uploaded a long MP3 (about 3 minutes) through the sound uploader. It was split into 30-second clips automatically, and played back in sequence the song has audible jumps: it seems to cut at the wrong points.
Evidence (viewer log, 2026-10-30)
Decode:
Split and upload (7 parts):
What the numbers say
Where to look
To reproduce
Upload a 3-minute 48 kHz stereo MP3 with the default split settings and play the clips in sequence. Listen at the 29.9 s boundaries and also mid-clip.
More detail from the reporter: the jumps are at clip boundaries only, but not at every boundary. The jump from clip 1 to clip 2 is the most noticeable.
That points away from the split itself: the cuts are evenly spaced and back to back, so a split or encoding error would show at every boundary alike. The causes that fit "some boundaries, worst at the first one":
Suggested check: play the uploaded clips back to back locally, from a decoded copy with no network or timing involved. If the boundaries are clean there, the problem is in playback or preloading, not in the uploader.
Found by the reporter: this isn't a playback-timing problem. The audio for segment 2 is missing from the uploaded clips. All 7 clips uploaded and are named
_01to_07, but the clip named_02contains what should be segment 3's audio (29.9-59.8 s of the source).What the log shows for part 2: the planned frames are correct (
1318590..2637180); it encoded 1,318,590 frames; it uploaded as its own asset (15309430-…) with the right name; and each part waited for the previous upload's server reply before starting. So the plan, the names and the ordering are right in the log, and the wrong content comes in somewhere between taking that slice of the decoded audio and the asset the server stores. Places to check:mSamples.data() + mAudioClipStartfrom the shared decoded clip: check that each upload object still holds its own start offset when the encode actually runs;Sound uploader: long files split into clips play back with jumpsto Sound uploader: split upload of a long file loses segment 2 (clip _02 holds segment 3)Correction: the upload is fine, and playback skips clip 2.
I matched the decoded clips in the reporter's local sound cache against the source song (cross-correlation on a 0.5 s window from the middle of each clip):
_0Ninventory item and each list entry actually points to.Sound uploader: split upload of a long file loses segment 2 (clip _02 holds segment 3)to Sound uploader: split clips play back with clip 2 skippedClosing: not a viewer bug. The viewer uploaded all 7 clips correctly (verified against the source above). The clips were dropped by the external player's song database: its stored clip list had segments 2 and 3 missing after an overwrite. That has been fixed on the player's side.