kira
kira copied to clipboard
Playing StreamingSoundData panics in 0.8
After updating from 0.7.0 -> 0.8.1 I'm getting an error when trying to play StreamingSoundData.
Here's the stack trace, let me know if anything else might be helpful.
thread '<unnamed>' panicked at 'did not get expected frame after seeking decoder', /vendor/kira/src/sound/streaming/sound/decode_scheduler.rs:159:22
0: 0x55f1096ae84a - std::backtrace_rs::backtrace::libunwind::trace::heb3166a6cb1fd02b
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x55f1096ae84a - std::backtrace_rs::backtrace::trace_unsynchronized::h34837841e045a1d4
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x55f1096ae84a - std::sys_common::backtrace::_print_fmt::h4348a4b63f328ee4
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys_common/backtrace.rs:65:5
3: 0x55f1096ae84a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1bad440d01eeeb29
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys_common/backtrace.rs:44:22
4: 0x55f1096d386e - core::fmt::write::hb5a073c651a6cb64
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/core/src/fmt/mod.rs:1232:17
5: 0x55f1096ab875 - std::io::Write::write_fmt::h97cc768331421fb2
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/io/mod.rs:1682:15
6: 0x55f1096ae615 - std::sys_common::backtrace::_print::h23bd93d6897965f3
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys_common/backtrace.rs:47:5
7: 0x55f1096ae615 - std::sys_common::backtrace::print::h4d41ae33ce7a824f
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys_common/backtrace.rs:34:9
8: 0x55f1096affcf - std::panicking::default_hook::{{closure}}::h8ab48635107c713a
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/panicking.rs:267:22
9: 0x55f1096afd0b - std::panicking::default_hook::h6305ca3c910e41d2
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/panicking.rs:286:9
10: 0x55f1096b06d9 - std::panicking::rust_panic_with_hook::ha8dfad8ee636a9a3
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/panicking.rs:688:13
11: 0x55f1096b0479 - std::panicking::begin_panic_handler::{{closure}}::h4fcf608bbbd27b26
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/panicking.rs:579:13
12: 0x55f1096aecfc - std::sys_common::backtrace::__rust_end_short_backtrace::h86f63ffb2338c5c8
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys_common/backtrace.rs:137:18
13: 0x55f1096b0182 - rust_begin_unwind
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/panicking.rs:575:5
14: 0x55f108d82353 - core::panicking::panic_fmt::ha12d43373dd0f588
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/core/src/panicking.rs:64:14
15: 0x55f1096d15d1 - core::panicking::panic_display::h17cae662562d6a06
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/core/src/panicking.rs:147:5
16: 0x55f1096d157b - core::panicking::panic_str::hfa275bfdfc298aa4
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/core/src/panicking.rs:131:5
17: 0x55f108d82316 - core::option::expect_failed::h09e72beb5cdbcf2e
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/core/src/option.rs:1924:5
18: 0x55f1092987cc - core::option::Option<T>::expect::h45a4a6c94b2112a8
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/core/src/option.rs:786:21
19: 0x55f1092987cc - kira::sound::streaming::sound::decode_scheduler::DecodeScheduler<Error>::frame_at_index::h1ffee1aa2b581f79
at /vendor/kira/src/sound/streaming/sound/decode_scheduler.rs:159:7
20: 0x55f109298fc5 - kira::sound::streaming::sound::decode_scheduler::DecodeScheduler<Error>::run::ha0b5650e36e80c0c
at /vendor/kira/src/sound/streaming/sound/decode_scheduler.rs:120:15
21: 0x55f10929971f - kira::sound::streaming::sound::decode_scheduler::DecodeScheduler<Error>::start::{{closure}}::h8d76de61f9a6d530
at /vendor/kira/src/sound/streaming/sound/decode_scheduler.rs:85:10
22: 0x55f109270e10 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha54d63d75c2749dc
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys_common/backtrace.rs:121:18
23: 0x55f10926cd40 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h35a6626b5833273f
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/thread/mod.rs:558:17
24: 0x55f109443294 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfdabcee9c49c59f1
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/core/src/panic/unwind_safe.rs:271:9
25: 0x55f109443110 - std::panicking::try::do_call::hedb9f28a17b1b15a
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/panicking.rs:483:40
26: 0x55f10944321b - __rust_try
27: 0x55f109442f2c - std::panicking::try::hbb5be7c505a66fc5
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/panicking.rs:447:19
28: 0x55f1092d60b0 - std::panic::catch_unwind::h698223ec4512f974
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/panic.rs:140:14
29: 0x55f10926c640 - std::thread::Builder::spawn_unchecked_::{{closure}}::h9231232d909805a1
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/thread/mod.rs:557:30
30: 0x55f1092b83af - core::ops::function::FnOnce::call_once{{vtable.shim}}::hc087fc5fef99e45e
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/core/src/ops/function.rs:250:5
31: 0x55f1096b4d13 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h9646bd6a135081c9
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/alloc/src/boxed.rs:1988:9
32: 0x55f1096b4d13 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h180d98f11b902552
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/alloc/src/boxed.rs:1988:9
33: 0x55f1096b4d13 - std::sys::unix::thread::Thread::new::thread_start::h83489d4028ebb6e1
at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys/unix/thread.rs:108:17
34: 0x7fd40599e609 - start_thread
at /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477:8
35: 0x7fd40576c133 - clone
at /build/glibc-SzIz7B/glibc-2.31/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95
36: 0x0 - <unknown>
Can you post a small project to replicate the issue? Preferably with the audio in question?
While creating the example, I've noticed that it only panics for .ogg files, and not .mp3.
Here's the project: https://github.com/vdrn/kira_streaming_ogg_panics
Edit: also tested with .wav and .flac and they seem to be working fine. So its just .oggs that crash as far as I can tell.
I can reproduce the issue and am working on a fix.
I released a new version that makes your ogg work, but I found a couple more issues that I think are bugs in Symphonia, but they may not be. More to come on that.