Audio Playback issues with various formats (m4a, mp3, wav)
I'm currently experiencing some technical and annoying issues with QtMultimedia and audio playback (using gstreamer).
I'm currently working on an audio-player made in QML for a Tegra based enbedded device.
Using Qt 5.7.
Most of the files are mp3, m4a and sometime WAV files (some customers still use em...).
The Qt (commercial) version is fully built with Yocto and come with gstreamer and all the plugins (base, bad good and ugly).
Everything works fine but...not completly:
First at all, I experienced an issue with QMediaPlayer (MediaPlayer for QML)
with a choppy and ugly playback with m4a files and it seems that it is due to the
"libgstaudioparsers.so" plugin. If I remove it from
/usr/lib/gstreamer-1.0, it works fine, the sound is good (qtdemux plugin seems to be used instead).
However, removing this plugin prevents me from playing regular mp3 files. I can no longer play them.
Secondly, I pointed out that the playback of MP3 and WAV files was a little
bit slower than the normal expected speed. It seems that the files played are
recorded in 44 KHz and the ALSA system is in 48 KHz.
If I launch the following gstreamer-1.0 command line, the problem is fixed:
gst-launch-1.0 filesrc location=~/track00.wav ! wavparse ! audioconvert ! audioresample ! audio/x-raw, rate=48000 ! alsasink
But as far as I know, customizing the underlying gst pipeline is not possible with QtMultimedia.
Any suggestion, critic, is welcome...