Qt5Multimedia is not able to play video files. The error returned in the console is : defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer" Step to reproduce : Install lib64qt5help-devel version 5.6 package and try to run video player example : [gilles@localhost player]$ pwd /lib64/qt5/examples/multimediawidgets/player [gilles@localhost player]$ ls -al total 188 drwxr-xr-x 2 root root 4096 Mar 20 05:29 ./ drwxr-xr-x 7 root root 4096 Mar 20 05:29 ../ -rw-r--r-- 1 root root 5557 Feb 25 17:27 histogramwidget.cpp -rw-r--r-- 1 root root 2782 Feb 25 17:27 histogramwidget.h -rw-r--r-- 1 root root 2263 Feb 25 17:27 main.cpp -rwxr-xr-x 1 root root 109904 Mar 18 02:56 player* -rw-r--r-- 1 root root 6343 Feb 25 17:27 playercontrols.cpp -rw-r--r-- 1 root root 3157 Feb 25 17:27 playercontrols.h -rw-r--r-- 1 root root 14809 Feb 25 17:27 player.cpp -rw-r--r-- 1 root root 3806 Feb 25 17:27 player.h -rw-r--r-- 1 root root 500 Feb 25 17:27 player.pro -rw-r--r-- 1 root root 5241 Feb 25 17:27 playlistmodel.cpp -rw-r--r-- 1 root root 3145 Feb 25 17:27 playlistmodel.h -rw-r--r-- 1 root root 2906 Feb 25 17:27 videowidget.cpp -rw-r--r-- 1 root root 2308 Feb 25 17:27 videowidget.h [gilles@localhost player]$ [gilles@localhost player]$ ./player defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
Note : Qt5Multimedia must depend of GStreamer plugins installed on the system to be able to play video files, as it's specified to the Qt Web site : http://wiki.qt.io/Qt_5.5.0_Multimedia_Backends And of course all GStreamer 1.0 plugins are installed : - gstreamer1.0-plugins-base-1.8.0-2.mga6.x86_64 - gstreamer1.0-plugins-bad-1.8.0-1.mga6.x86_64 - gstreamer1.0-plugins-good-1.8.0-2.mga6.x86_64 - gstreamer1.0-plugins-ugly-1.8.0-1.mga6.x86_64 Gilles Caulier
CC: (none) => caulier.gilles
It sound like Qt5Multimedia packages do not depend of GStreamer dependencies. It's normal ? Without suitable Qt5Multimedia, all Qt5 application which will need to play video or audio will be broken. Gilles Caulier
Priority: Normal => HighSeverity: normal => major
If you need video samples to test, look here : http://www.sample-videos.com/ Gilles Caulier
I think i found the problem : it miss a so file in RPM to handle GStreamer plugins with Qt5Multimedia framework. In older qtmultimedia5 RPM from Mageia5 we have : https://www.rpmfind.net/linux/RPM/mageia/5/x86_64/media/core/updates/qtmultimedia5-5.4.2-1.mga5.x86_64.html ...which provide libgstmediaplayer.so to handle older GStreamer 0.10 In new qtmultimedia5 RPM from Mageia Cauldron we have : https://www.rpmfind.net/linux/RPM/mageia/cauldron/x86_64/media/core/release/qtmultimedia5-5.6.0-1.mga6.x86_64.html ...there is no libgstmediaplayer.so to handle new GStreamer 1.0 Note the difference between GStreamer 0.10 and 1.0. Qt 5.5 is now compatible with GStreamer 1.0 and must use it instead older GStreamer 0.10, else Qt5multimedia will not work. Gilles Caulier
CC: (none) => geiger.david68210Assignee: bugsquad => mageia
Nicolas, Do you sen my previous comments ? Gilles Caulier
Should be fixed now with qtmultimedia5-5.6.0-4.mga6. Also the libqgsttools_p5 package is back.
Thanks. updating is in the process... Gilles Caulier
All work fine now. I tested with few different video sample of different type mime supported by gstreamer. player test program fram qt5 samples work like a charm. Idem for my video support in digiKam 5 ! Thanks a lots Gilles Caulier
Status: NEW => RESOLVEDResolution: (none) => FIXED
(In reply to David GEIGER from comment #6) > Should be fixed now with qtmultimedia5-5.6.0-4.mga6. > > Also the libqgsttools_p5 package is back. I think you've chosen the wrong way to fix. Initial problem is that qtbase5 package contains the config file that points to gst version 0.10 and qtmultimedia5 is built with gst 1.0. To fix it properly you should fix BRs in qtbase5 package and then qtmultimedia5 won't require all this fixes.
Status: RESOLVED => REOPENEDCC: (none) => olegbosisResolution: FIXED => (none)
Qtbase5 is now built against gstreamer 1.0
Status: REOPENED => RESOLVEDResolution: (none) => FIXED
The problem is back... I can see qt5 depending of GStreamer 0.10 instead 1.0. When i want to uninstall gstreamer0.10-tools package, i can see this message from mcc : Because of their dependencies, the following package(s) also need to be removed: - audacity-2.1.2-1.mga6.x86_64 - filezilla-3.16.1-1.mga6.x86_64 - hugin-2016.0.0-1.mga6.x86_64 - kwin-5.6.2-1.mga6.x86_64 - lib64gstreamer-plugins-base0.10_0-0.10.36-11.mga6.x86_64 - lib64gstreamer0.10_0-0.10.36-15.mga6.x86_64 - lib64qgsttools_p5-5.5.1-1.mga6.x86_64 - lib64qt5multimedia-devel-5.6.0-4.mga6.x86_64 - lib64qt5multimediawidgets-devel-5.6.0-4.mga6.x86_64 - lib64wxgtku2.8_0-2.8.12-18.mga6.x86_64 - lib64wxgtku3.0_0-3.0.2-7.mga6.x86_64 - lib64wxgtkugl3.0_0-3.0.2-7.mga6.x86_64 - plasma-workspace-5.6.2-1.mga6.x86_64 - qtmultimedia5-5.6.0-4.mga6.x86_64 - task-plasma5-5.6.0-1.mga6.noarch - task-plasma5-minimal-5.6.0-1.mga6.noarch 0B of additional disk space will be used. Typically, with my CLI tool from digiKam test box, i see this message from the console : [gilles@localhost fileio]$ pwd /home/gilles/Devel/5.x/build/core/tests/fileio [gilles@localhost fileio]$ ./videothumbtest /home/gilles/Devel/5.x/build/core/tests/fileio/SampleVideo_1280x720_20mb.mkv (videothumbtest:28700): GLib-GObject-WARNING **: cannot register existing type 'GstObject' (videothumbtest:28700): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed (videothumbtest:28700): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed (videothumbtest:28700): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed (videothumbtest:28700): GStreamer-CRITICAL **: gst_pad_get_negotiated_caps: assertion 'GST_IS_PAD (pad)' failed This is exactly the same locking case than under Mageia5. qt5Multimedia is NOT compatible with GStreamer 0.10... Gilles Caulier
Status: RESOLVED => REOPENEDResolution: FIXED => (none)
Note : that i updated today all packages from Cauldron... 2 days ago, all work fine. Gilles Caulier
strange. I look to it today.
On my cauldron I ca see: $ urpmq --requires qtmultimedia5 |grep gst --requires behaviour changed, use --requires-recursive to get the old behaviour libgstapp-1.0.so.0()(64bit) libgstbase-1.0.so.0()(64bit) libgstpbutils-1.0.so.0()(64bit) libgstphotography-1.0.so.0()(64bit) libgstreamer-1.0.so.0()(64bit) libgstvideo-1.0.so.0()(64bit) libqgsttools_p.so.1()(64bit) $ urpmq --requires lib64qgsttools_p5 |grep gst --requires behaviour changed, use --requires-recursive to get the old behaviour libgstapp-1.0.so.0()(64bit) libgstaudio-1.0.so.0()(64bit) libgstreamer-1.0.so.0()(64bit) libgstvideo-1.0.so.0()(64bit) I do not see any gstreamer0.10 here!!
Confirmed. I updated again Cauldron and problem disapear...Very strange... Gilles Caulier