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
In the ExoPlayer Flac Extension README.md under the headline Using the extension it explains how to use the flac extension using the FlacExtractor and/or LibflacAudioRenderer, but it doesn't say when to use one or the other or both.
Can you explain the differences between these two and when we should use them?
I also have to note that I haven't gotten the LibflacAudioRenderer to work. Maybe the README should be updated to include this information?
There is also a possibility(as I understand it) to play FLAC using ffmpeg. In what circumstances would we go for that approach instead?
A full bug report captured from the device
N/A
Link to test content
N/A
The text was updated successfully, but these errors were encountered:
Extracting individual samples from the media container (e.g. parsing AAC samples out of MP4)
Decoding the extracted samples (e.g. AAC -> Raw audio)
Rendering the decoded samples
In ExoPlayer the first step is performed by an Extractor and the second step is performed by a decoder, which is part of the Renderer.
FLAC is interesting because it can be placed as samples inside a container like MP4 / Ogg / Matroska, but also defines "native FLAC" in which samples are placed into a very minimalist FLAC defined container. If I remember correctly, the way libFLAC is written makes it easier to perform the first two steps together in the "native FLAC" case. For this reason:
To play native FLAC, you should use FlacExtractor. Because it's easiest to perform the first two steps together using libFLAC, this extractor will actually do step two as well, and output raw audio that the standard audio MediaCodecAudioRenderer can play without needing to further decode it.
To play FLAC that's inside of any other container, you should use whatever the Extractor is for that container to extract the individual samples. For decoding and rendering use LibflacAudioRenderer. From Android 8.1 you can also use the standard MediaCodecAudioRenderer, because there's a FLAC decoder included in the platform on 8.1 and above.
[REQUIRED] Searched documentation and issues
GitHub issues, ExoPlayer dev site, Stack Overflow, ExoPlayer javadoc, Github extension flac README.
[REQUIRED] Question
In the ExoPlayer Flac Extension README.md under the headline Using the extension it explains how to use the flac extension using the
FlacExtractor
and/orLibflacAudioRenderer
, but it doesn't say when to use one or the other or both.Can you explain the differences between these two and when we should use them?
I also have to note that I haven't gotten the
LibflacAudioRenderer
to work. Maybe the README should be updated to include this information?There is also a possibility(as I understand it) to play FLAC using ffmpeg. In what circumstances would we go for that approach instead?
A full bug report captured from the device
N/A
Link to test content
N/A
The text was updated successfully, but these errors were encountered: