Slow Framerate in audio visualizations
Techinfo:
Affected VLC's: First noticed in Version 0.8.6 ( didn't use vlc before that..) Up to the latest Stable 2.1.3. and also affects the latest Nightly 2.2.0-git-20140614-0403
Visualizations Affected: Spectrumeter Spectrum Scope Vu meter
Video Output Affected: Direct3D DirectX (PINK BOX) - non functional. Direct2D OpenGL Windows GDI ColorASCII
So, when playing certain audio files (Mainly the lossless formats .FLAC.Wav), while watching the built-in audio visualizations, you could see that playing those 'certain' files causes the Framerate of the visualization to play at less then 22fps.
Depending on file, sometimes it's 19fps, sometimes is a 21.5fps with drops (downwards), sometimes it's 28fps - but stiil too slow to watch.
Again VLC only does this with some FLAC files, others may work perfectly, some at 48fps and somehow, some also play at 21\23 BUT with a smooth animation.
it seems the 19fps read i'm getting involves some drops, and lags causing choppy animation, while other files that play at 21 can play much more smoothly with no lags..
i've tried to target a specific parameter within the files that could cause this behiviour with no luck..
(
- tried 16-bit vs 24-bit
- tried 44000Hz vs 96000Hz )
it's seems related to the way the files was originaly encoded, and re-encoding a 'bad' file with the corrent software (for example 'Audacity')on the seems to fix the fps visualizations, but that's a cheap workaround :)
working with the 'Audacity' Example, Import the 'bad' FLAC file into it, now export as a FLAC, but fill in the advanced parameters:
-
use source 16\24-Bit
-
Compression Level - 0 is the most uncompressed (Largest file) and play Smoothly in VLC. - 38fps
-
Compression Level - 4 is the Medium compression and DOES NOT play Smoothly in VLC - 21.5avg
-
Compression Level - 8 is the Most compressed (Smallest File) and DOES NOT play Smoothly in VLC - 21.5avg
Attaching a FLAC which start with a Clean Base only, so it's much easier to see the Framerate Smoothness.
as a dev i would look the which lib is used to de-code FLAC's and test that, and if the lib is fine, it might just be that the visualizations need another, seprate thread..