RustAudio / rodio

Rust audio playback library
Apache License 2.0
1.74k stars 228 forks source link

Fix m4a and mp4a playback #582

Closed apolunar closed 3 months ago

apolunar commented 4 months ago

Addresses issue #581 where all tests (including the new one) pass.

  1. It includes the necessary symphonia features
  2. Handles "end of stream" decoding errors
  3. Selects only tracks with supported codecs
  4. Adds test for m4pa file from YouTube (CC License) Let me know what revisions need to be made to get this merged.
apolunar commented 4 months ago

Yikes, well it worked on my machine LOL Edit: I did not in fact have the correct test command (should've been cargo test --features=symphonia-all --all-targets) However, the new mp4a fix is successful, just not seeking on the RL.m4a, which is something I will fix later (for now maybe we can just disable the test again)

dvdsk commented 4 months ago

just not seeking on the RL.m4a, which is something I will fix later (for now maybe we can just disable the test again)

I strongly suspect that's a bug in symphonia, see: #577. I haven't been able to work on bringing that to the attention of the symphonia folk yet unfortunatly.

Addresses issue https://github.com/RustAudio/rodio/issues/581 where all tests (including the new one) pass.

Thank you so much for adding a test :+1: that makes reviewing sooo much easier. I'm gonna take a detailed look tomorrow! At a quick glance it seems great though!

dvdsk commented 4 months ago

running cargo fmt should fix that last failing test

dvdsk commented 4 months ago

Some nitpicks and a small mistake regarding the crate features otherwise looks great. With some tweaks we can get it merged!

apolunar commented 4 months ago

Some nitpicks and a small mistake regarding the crate features otherwise looks great. With some tweaks we can get it merged!

Yippee! I think I covered everything, thanks for pointing that stuff out.

apolunar commented 3 months ago

YIPPEE! Thanks for your help with this :D