-
Notifications
You must be signed in to change notification settings - Fork 6k
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
Make FfmpegAudioRenderer non final or allow custom format selection #10061
Comments
This comment was marked as outdated.
This comment was marked as outdated.
I tried that but in Kotlin this does not compile as exposing package private FfmpegAudioDecoder. The decorator pattern at the Renderer level is what I do and it works, but it's a lot more to delegate. I wondered if there was the place for something more clean to better handle multiple decoders without going down the track selector road. But I understand the API surface issue, so if there's nothing to be done for that need, I can keep the Renderer delegate. |
Ah right, yeah I see my proposal won't work because the Zooming out slightly: It sounds like you've got some files where the platform It sounds a bit strange to solve this by essentially making Other options (beyond just depending on the library locally (which I guess you're already doing if you're using the ffmpeg extension) and maintaining the tiny patch that removes the
|
Actually I use a RenderersFactory to reduce app size.
The problem is that it's in order, since I want ffmepg for Flac as lot of devices have issues I put it first, but then if I want to optionally enable mp3 from ffmpeg I need either the renderer or the trackselector thing. (Renderer is easier) About gapless I think the issue is mostly #8594 but strangely for one user also using ffmpeg does not solve it. With his media I have no issues on my devices. He have:
No idea how to debug but I suppose this require a proper new issue. |
I'm going to close this because we're not going to remove the final keyword from |
@icbaker what about the root gapless issue what do I need to ask from the user? Logs shows no difference between his device and mine during playback, so not sure what to report. |
[REQUIRED] Use case description
I have some users with mp3 device decoder that do not properly support gapless and they hear a glitch. Enabling mp3 in the ffmpeg decoder properly fix the issue (I'm already using ffmpeg for alac, flac ...).
The issue is that I'd want that to be optional for mp3 as it will consume more battery on most devices than using the device decoder.
Currently everything is final or package private, so it requires to create a full Renderer wrapper + a RendererCapabilities wrapper to be able to filter the codecs. It would be nice to have a simpler solution.
Proposed solution
Make FfmpegAudioRenderer non final so we can override supportsFormatInternal, or have an optional constructor parameter that accept a callback to do filtering.
Alternatives considered
The current solution is to create a full Renderer + RendererCapabilities wrapper.
The text was updated successfully, but these errors were encountered: