QMediaPlayer ERROR defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer
-
Hi @all,
I have an application create by QT (Qt 5.6.2 version).
I cross compile this application for a Zynq MPSOC.I use this in a filesystem create by Petalinux 2018.2.
When I invoke QMediaPlayer class I have the "defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer" error and video doest'n work.
In my rootfs_config I have enabled gstreamer qt-multimedia... and so on...
But it doesn't work.
Someone have the list of package needs to watch the video?
Where am I wrong?
Thanks for your help
Luisa
-
setting export QT_DEBUG_PLUGINS=1
I have the messageQFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/qt5/plugins/mediaservice" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/mediaservice/libqtmedia_audioengine.so"
Found metadata in lib /usr/lib/qt5/plugins/mediaservice/libqtmedia_audioengine.so, metadata=
{
"IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0",
"MetaData": {
"Keys": [
"audiocapture"
],
"Services": [
"org.qt-project.qt.audiosource"
]
},
"className": "AudioCaptureServicePlugin",
"debug": false,
"version": 329988
}Got keys from plugin meta data ("audiocapture")
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/mediaservice" ...
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
...In /usr/lib/qt5/plugins/mediaservice/ I have only this file
libqtmedia_audioengine.so
It's correct?
I think no...
-
Hi,
Did you cross-compile your Qt version yourself ?
-
Yes I configure my QTCreator to cross compile for Zynq. My app work well but not for video.
At a later time I would like to compile my application whit petalinux 2018.2 but I haven't found updated instructions for the version I use. But this is another problem..
Thanks for your interest
Luisa
PS If you think you could help me compile from petalinux can you tell me the instructions to do it?
-
Then do you have the GStreamer development libraries for your target ?
-
What is petalinux ?
-
Sorry.
Petalinux is a distribution to creteate kernel boot and so on...This is ma config file. Can you check if the 'GStreamer development libraries' is present?
Thank you very much. I am going through hard times.
Luisa
gst-player
CONFIG_gst-player=y
CONFIG_gst-player-dev=yCONFIG_gst-player-dbg is not set
gst-plugins-base
CONFIG_gst-plugins-base=y
CONFIG_gst-plugins-base-meta=yCONFIG_gst-plugins-base-dbg is not set
CONFIG_gst-plugins-base-dev=y
CONFIG_gst-plugins-base-apps=ygst-plugins-good
CONFIG_gst-plugins-good=y
CONFIG_gst-plugins-good-dev=yCONFIG_gst-plugins-good-dbg is not set
CONFIG_gst-plugins-good-meta=y
gstreamer1.0-meta-base
CONFIG_gstreamer1.0-meta-base=y
CONFIG_gstreamer1.0-meta-video=yCONFIG_gstreamer1.0-meta-video-dbg is not set
CONFIG_gstreamer1.0-meta-debug-dev=y
CONFIG_gstreamer1.0-meta-x11-base-dev=yCONFIG_gstreamer1.0-meta-audio-dbg is not set
CONFIG_gstreamer1.0-meta-audio=y
CONFIG_gstreamer1.0-meta-x11-base=y
CONFIG_gstreamer1.0-meta-video-dev=yCONFIG_gstreamer1.0-meta-x11-base-dbg is not set
CONFIG_gstreamer1.0-meta-base-dev=y
CONFIG_gstreamer1.0-meta-base-dbg is not set
CONFIG_gstreamer1.0-meta-debug=y
CONFIG_gstreamer1.0-meta-audio-dev=yCONFIG_gstreamer1.0-meta-debug-dbg is not set
gstreamer1.0-plugins-bad
CONFIG_gstreamer1.0-plugins-bad=y
CONFIG_gstreamer1.0-plugins-bad-meta=y
CONFIG_gstreamer1.0-plugins-bad-dev=yCONFIG_gstreamer1.0-plugins-bad-dbg is not set
gstreamer1.0-plugins-base
CONFIG_gstreamer1.0-plugins-base=y
CONFIG_gstreamer1.0-plugins-base-apps=y
CONFIG_gstreamer1.0-plugins-base-dev=yCONFIG_gstreamer1.0-plugins-base-dbg is not set
CONFIG_gstreamer1.0-plugins-base-meta=y
gstreamer1.0-plugins-good
CONFIG_gstreamer1.0-plugins-good=y
CONFIG_gstreamer1.0-plugins-good-dev=yCONFIG_gstreamer1.0-plugins-good-dbg is not set
CONFIG_gstreamer1.0-plugins-good-meta=y
gstreamer
CONFIG_gstreamer=y
CONFIG_gstreamer-dbg=y
CONFIG_gstreamer-dev=ygstreamer1.0
CONFIG_gstreamer1.0=y
CONFIG_gstreamer1.0-dev=y
CONFIG_gstreamer1.0-bash-completion=y
CONFIG_gstreamer1.0-dbg=ygstreamer1.0-omx
CONFIG_gstreamer1.0-omx=y
CONFIG_gstreamer1.0-omx-dbg=y
CONFIG_gstreamer1.0-omx-dev=ygstreamer1.0-rtsp-server
CONFIG_gstreamer1.0-rtsp-server=y
CONFIG_gstreamer1.0-rtsp-server-dbg=y
CONFIG_gstreamer1.0-rtsp-server-dev=y
CONFIG_gstreamer1.0-rtsp-server-meta=y
packagegroup-petalinux-gstreamer
CONFIG_packagegroup-petalinux-gstreamer=y
CONFIG_packagegroup-petalinux-gstreamer-dev=yCONFIG_packagegroup-petalinux-gstreamer-dbg is not set
-
You should check the Qt configuration logs. There might be something that is not found thus your issue of missing plugins.
-
As silly as it may sound, in the folder where Qt was built using your system.
-
Found it
cat ./build/tmp/work/aarch64-xilinx-linux/qtmultimedia/5.9.4+gitAUTOINC+d83467be15-r0/temp/log.do_configure.1884
DEBUG: Executing shell function qmake5_base_preconfigure
DEBUG: Shell function qmake5_base_preconfigure finished
DEBUG: Executing shell function do_configure
NOTE: qmake prevar substitution: ' '
NOTE: qmake configure substitution: ' -alsa -no-feature-openal -pulseaudio -no-gstreamer'
Info: creating stash file /home/posani/PetaLinux2018.2/NOX/build/tmp/work/aarch64-xilinx-linux/qtmultimedia/5.9.4+gitAUTOINC+d83467be15-r0/build/.qmake.stash
Info: creating cache file /home/posani/PetaLinux2018.2/NOX/build/tmp/work/aarch64-xilinx-linux/qtmultimedia/5.9.4+gitAUTOINC+d83467be15-r0/build/.qmake.cacheRunning configuration tests...
Checking for ALSA... yes
Checking for Vivante GPU... no
Checking for Video for Linux... yes
Checking for PulseAudio >= 0.9.10... yes
Checking for libresourceqt5... no
Done running configuration tests.Configure summary:
Qt Multimedia:
ALSA ................................... yes
GStreamer 1.0 .......................... no
GStreamer 0.10 ......................... no
Video for Linux ........................ yes
OpenAL ................................. no
PulseAudio ............................. yes
Resource Policy (libresourceqt5) ....... no
Windows Audio Services ................. no
DirectShow ............................. no
Windows Media Foundation ............... noQt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into '/home/posani/PetaLinux2018.2/NOX/build/tmp/work/aarch64-xilinx-linux/qtmultimedia/5.9.4+gitAUTOINC+d83467be15-r0/recipe-sysroot/usr'.Prior to reconfiguration, make sure you remove any leftovers from
the previous build.DEBUG: Shell function do_configure finished
DEBUG: Executing python function do_qa_configure
DEBUG: Python function do_qa_configure finished
DEBUG: Executing shell function qmake5_base_postconfigure
DEBUG: Shell function qmake5_base_postconfigure finishedIn effect my qtmultimedia doesn't see gstreamer..
where did I go wrong?
-
Check the test build logs to see what fails with the QtMultimedia module.
If you add the
-v
option to your configure call you should see it on the console already. -
QT multimedia did not configure gstreamer among its packages.
I have modified the configuration file adding@PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)}
${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}
gstreamer010 " @and now it no longer gives me the error.
If I want to play h264 files instead it gives me the error:Warning: "No decoder available for type 'video/x-h264, stream-format=(string)avc, width=(int)640, height=(int)512, parsed=(boolean)true, align....
and the video doesn't start...
I'm discouraged..
I looked for solutions to my problem but nothing seems to work.
Grazie per il tuo aiutoLuisa
-
Did you install the gstreamer plugins packages ?
-
Can you play that file from the command line using gstreamer directly ?
-
But I have another problem. When I try to view a video I have the following error
Warning: "Failed to connect: Connection refused"
GET_DMA_PHY: Invalid argument
Failed to import fd : 1973231776
myprogram: base/omx_codec/omx_codec.cpp:1275: void Codec::TreatFillBufferCommand(Task*): Assertion `success' failed.and the software crashes.
Has anyone solved a problem similar to mine?
Thanks in advanceLuisa
-
Again: is it working on the command line with gstreamer directly ?