Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ALAC support #60

Closed
inflation opened this issue Oct 13, 2021 · 5 comments
Closed

ALAC support #60

inflation opened this issue Oct 13, 2021 · 5 comments

Comments

@inflation
Copy link

Hi, I’m really excited to see this project! I have some experiences on ALAC codec and am eager to help. What would be best for the collaboration?

@pdeljanov
Copy link
Owner

Hi @inflation,

Thanks for your interest!

Coincidentally enough, ALAC is something I've been working on. So far, I've made some progress on extending the IsoMp4Reader to support demuxing ALAC (among other) bitstreams and have not gotten to the decoder yet. If the decoder is something you'd like to write, then it's not too late to jump in.

There is no specification for the ALAC codec. We only have Apple's official reference implementation to work with. This means that for the most part, we just need to port the reference implementation over to Rust, and make it idiomatic (i.e., use iterators instead of for loops, etc.).

A good starting point would be to look at the PCM decoder to understand how a Symphonia decoder is structured (the Decoder trait). Then check out the FLAC decoder to see how a similar lossless audio decoder is implemented.

If this is something you're interested in working on, you can jump right in.

Since this is something I was planning to include in v0.5 (next release), please keep me posted occasionally on your progress, and let me know if you won't be able to complete it for whatever reason.

Of course, please feel free to reach out and ask if you have any questions or are getting stuck.

@pdeljanov
Copy link
Owner

pdeljanov commented Oct 14, 2021

To give you a head start, I pushed the stubbed out AlacDecoder I had previously implemented to the alac branch.

@inflation
Copy link
Author

Sure, I will read the source and start on porting the reference implementation.

@inflation
Copy link
Author

I'll need more time on this because of personal issues. Feel free to take it over. Sorry.

pdeljanov added a commit that referenced this issue Oct 20, 2021
@pdeljanov
Copy link
Owner

pdeljanov commented Oct 20, 2021

Hey @inflation, I hope you are doing okay.

I'm not in a rush to push a new release, so if you are still interested in it after things settle down, feel free to jump back in if the ticket is still open.

pdeljanov added a commit that referenced this issue Nov 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants