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

AIFF, WAVPack, Monkey's Audio, ASF/WMA, DSF, DSD support #361

Open
OxygenCobalt opened this issue Feb 15, 2023 · 7 comments
Open

AIFF, WAVPack, Monkey's Audio, ASF/WMA, DSF, DSD support #361

OxygenCobalt opened this issue Feb 15, 2023 · 7 comments
Labels
complex This is a complex addition that will take some time enhancement New feature or request maybe Uncertain if this will be done playback Related to music playback

Comments

@OxygenCobalt
Copy link
Owner

With #346, the door is theoretically opened for the addition of more obscure audio formats like those specified in the title. To do this, I would have to:

  1. Await SAF-based music loading #322 so I can detect these formats myself. Android isn't really aware of these mime types, so they will consider these files generic "documents" and not include them in the media database.
  2. Write my own container parsers for ExoPlayer. ExoPlayer only supports generic container formats, which won't apply to these. This is also where I would implement metadata support for things like APE comments.
  3. Plug the codecs into the FFMpeg extension, as there is no native android support for them.

This is relatively low-priority right now.

@OxygenCobalt OxygenCobalt added enhancement New feature or request playback Related to music playback complex This is a complex addition that will take some time maybe Uncertain if this will be done labels Feb 15, 2023
@OxygenCobalt OxygenCobalt changed the title WAVPack, Monkey's Audio, ASF, DSF support WAVPack, Monkey's Audio, ASF/WMA, DSF support Feb 15, 2023
@OxygenCobalt OxygenCobalt changed the title WAVPack, Monkey's Audio, ASF/WMA, DSF support MP1/MP2, WAVPack, Monkey's Audio, ASF/WMA, DSF support Feb 15, 2023
@OxygenCobalt OxygenCobalt changed the title MP1/MP2, WAVPack, Monkey's Audio, ASF/WMA, DSF support AIFF, WAVPack, Monkey's Audio, ASF/WMA, DSF support Feb 15, 2023
@OxygenCobalt
Copy link
Owner Author

OxygenCobalt commented Feb 19, 2023

Theoretically, I may try to take this further by effectively gutting most of the ExoPlayer internals and just using FFMpeg for audio decoding and format/metadata parsing. Again, basically what the big proprietary music players do. Depends on how good FFMpeg's metadata support is (i.e Multi-value capabilities).

Edit: This is much harder than I originally thought. I would have to do a huge amount of work in order to get the proper format support set up here.

@OxygenCobalt OxygenCobalt mentioned this issue Apr 6, 2024
4 tasks
@OxygenCobalt OxygenCobalt changed the title AIFF, WAVPack, Monkey's Audio, ASF/WMA, DSF support AIFF, WAVPack, Monkey's Audio, ASF/WMA, DSF, DSD support Apr 6, 2024
@dreamsyntax
Copy link

Since this is a difficult to implement solution, would you be opposed to a hacky fix that works?

@OxygenCobalt
Copy link
Owner Author

If it's sufficiently stable @dreamsyntax.

There is a lot of taped together stuff in Auxio (the bottom sheet system is...rough...), but the end stability is what matters.

@OxygenCobalt
Copy link
Owner Author

OxygenCobalt commented Dec 11, 2024

I think the idea somehow @dreamsyntax would be to make an ExoPlayer Extractor that somehow does everything ExoPlayer expects from one solely through JNI calls to a C++ library that shims over ffmpeg. You don't have to worry about metadata, likely going to switch parsers in #924. If you (or you and Claude 3.5 idk) can figure that out, that would be unironically awesome. It would instantly catapult Auxio to Poweramp-tier format support.

@dreamsyntax
Copy link

Not sure who Claude is in this context, but I can give it a try.
No promises on timeline as I don't have experience in this area. I'll at least update when attempted.

I would very much like to be able to play .wma files, and several of my peers would appreciate the feature, so I am motivated.

@OxygenCobalt
Copy link
Owner Author

Not sure who Claude is in this context, but I can give it a try.

I was just joking about the AI model 😅, it's pretty helpful as an assistant when you're doing some really exotic stuff you're not familiar with.

@dreamsyntax
Copy link

I was just joking about the AI model

Sorry, same here. It was too good to pass up. IMO LLMs usually do more harm than good unless you already generally know a topic, but that debate is offtopic for here :P

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
complex This is a complex addition that will take some time enhancement New feature or request maybe Uncertain if this will be done playback Related to music playback
Projects
None yet
Development

No branches or pull requests

2 participants