Question

I cross compiled Qt 5.2.1 for TI AM335x board using the toolchain provided by TI together with their SDK 6.00.00.

Unluckily I am not able to reproduce any video in QML...

The debug console tells:

defaultServiceProvider::requestService(): no service found for – “org.qt-project.qt.mediaplayer”

Is there something that I am missing in cross-compilation? maybe some dependencies? Can somebody help me in determining what I am missing?

You can find here my cross-compilation configuration and here the full trace of messages produced by the application when setting the environment variable QT_DEBUG_PLUGIN

Was it helpful?

Solution

You are missing a QtMultimedia backend that can actually play audio. Either it is not installed into the correct directory, or it was not built. Since your log output says that one backend (an audio capture one) was found, I'd rule out an installation problem.

You need to rebuild your QtMultimedia with the proper dependencies in place. For example, when gstreamer is found when building QtMultimedia, a GStreamer backend plugin will be built. The Qt documentation has a list of available backends.

When you build QtMultimedia, it will actually tell you what libraries it found, which is an indication of which backends will be built. Here is an example output when running qmake on QtMultimedia for desktop Linux - which built a gstreamer backend for me:

Running qmake /home/thomas/src/qt/qtmultimedia-stable ...
Info: creating cache file /home/thomas/build/qt/qtmultimedia-stable/.qmake.cache
Checking for openal... no
Checking for alsa... yes
Checking for pulseaudio... no
Checking for gstreamer... yes
Checking for gstreamer_photography... no
Checking for gstreamer_encodingprofiles... yes
Checking for gstreamer_appsrc... yes
Checking for resourcepolicy... no
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top