Commit Graph

16 Commits

Author SHA1 Message Date
Test User 5d2f88aa98 Fix decoder panic on streamed network tracks
Playing a network track panicked in rodio 0.22's symphonia backend:
"Seek errors should not occur during initialization". During init
symphonia probes the container length; on a source with no known byte
length it seeks from the end, and StreamDownload handles that in a way
rodio turns into an `unreachable!`. This surfaced after the dependency
bump from rodio 0.17 (with the old custom SymphoniaDecoder) to 0.22.

Pass the stream's content length to the decoder via with_byte_len (the
local-file path already did this), which lets symphonia skip the
end-relative seek entirely. Verified against a real Tidal AAC/mp4
stream: the streamed decode now succeeds instead of panicking.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 15:29:54 +02:00
AI User 6eb5a87b15 Update all dependencies to current versions
- tonic 0.9 -> 0.14 (tonic-prost/tonic-prost-build split), prost 0.14
- ratatui 0.20 -> 0.30 (Frame no longer generic, Line instead of Spans),
  crossterm 0.29
- rodio 0.17 -> 0.22: replace the custom symphonia decoder with rodio's
  built-in decoder, seeking (try_seek) and position tracking (get_pos);
  end-of-stream is now signalled via an EmptyCallback source with a
  generation counter so a replaced track can never emit a stale EOS
- replace the vendored stream-download crate with the published
  stream-download 0.24 (rustls), with a 30s open timeout
- reqwest 0.12->0.13 (rustls/webpki-roots/query features), base64 0.22
  Engine API, rand 0.10, flume 0.12, thiserror 2, dirs 6, toml 1
- unify everything under [workspace.dependencies]; drop unused deps
  (once_cell, serde_json in server; confique, secrecy in tidaldy)
- devenv: add protobuf (protoc) for prost-build

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 21:41:10 +02:00
chmanie a7c2fe391b Try tag filtering again
CI release / stable / cross-${{ matrix.target }} (x86_64-unknown-linux-gnu) (push) Successful in 4m52s Details
CI release / stable / cross-${{ matrix.target }} (aarch64-unknown-linux-gnu) (push) Successful in 6m7s Details
CI release / stable / cross-${{ matrix.target }} (armv7-unknown-linux-gnueabihf) (push) Successful in 7m5s Details
2023-06-13 10:00:16 +02:00
chmanie 2e167e6714 Add simple gitea runner demo
ubuntu / stable / fmt Details
2023-06-11 20:20:37 +02:00
chmanie d782adb506 Hopefully unstuck the player 2023-06-09 03:14:06 +02:00
chmanie 905d412644 Implement seek for audio-player 2023-06-08 19:00:37 +02:00
chmanie 9935161b17 Re-use sink when playing new track 2023-06-08 18:13:52 +02:00
chmanie d9661c1291 Fix track restart 2023-06-08 16:16:24 +02:00
chmanie d9782a7390 Clamp volume in engine 2023-06-08 14:57:17 +02:00
chmanie d236d108e8 Adjust audio-player example 2023-06-08 14:54:36 +02:00
chmanie 983609e2f4 Implement full async player API 2023-06-08 14:40:09 +02:00
chmanie 85d6d263e1 Add more player API methods 2023-06-08 12:17:11 +02:00
chmanie 788ac6ba6d Properly handle EOS in player 2023-06-08 11:46:01 +02:00
chmanie 194334e360 Make player using facing API async 2023-06-08 11:26:31 +02:00
chmanie 8f6dd152c8 First working version of audio player 2023-06-08 05:13:22 +02:00
chmanie 7f1e7dfd00 Add audio-player PoC 2023-06-08 02:01:49 +02:00