You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#98 added a Sync bound to the MediaSource trait and others, but I'm not sure this is the best idea. This prevents the use of a thread-unsafe MediaSource in a single threaded scenario where it is known there will be no data races.
The text was updated successfully, but these errors were encountered:
No worries! Generally it's not a huge issue on the user side, and simply involves adding a Sync trait bound as appropriate. But because Sync is transitive, this can require digging quite deep to ensure the trait is propagated properly. In Ruffle's case, this required us to add some Sync bounds to both our core code and some other decoders (ruffle-rs/ruffle@24f0023). It seems like other users had to do so as well (RustAudio/rodio@21adce6).
So mostly an annoyance in practical cases because most things are Sync anyway, but it could be problematic if someone wanted to use the symphonia types in a non-Sync scenario, such as in a type with non-thread safe interior mutability like RefCell.
#98 added a
Sync
bound to theMediaSource
trait and others, but I'm not sure this is the best idea. This prevents the use of a thread-unsafeMediaSource
in a single threaded scenario where it is known there will be no data races.The text was updated successfully, but these errors were encountered: