defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera"

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera"

Jump to solution
12,383 Views
fulinux
Contributor IV

Dear Community,

    hardware and software info:

   imx6qsabresd+L4.1.15_2.1.0

  i make rootfs by used bitbake fsl-image-qt5

 i want use Qt5 camera Example,but it has some problem like this:

root@imx6qsabresd:~/multimedia/declarative-camera# ./declarative-camera -platform wayland
Using Wayland-EGL
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera"
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
qrc:///VideoCaptureControls.qml:110: Error: Cannot assign [undefined] to QString
qrc:///CameraListButton.qml:65:5: QML CameraListPopup: Binding loop detected for property "currentValue"
qrc:///PhotoCaptureControls.qml:135: Error: Cannot assign [undefined] to QString
qrc:///CameraListButton.qml:65:5: QML CameraListPopup: Binding loop detected for property "currentValue"
^C

what should i do, Thank you.

fulinux.

Labels (1)
0 Kudos
Reply
1 Solution
7,470 Views
fulinux
Contributor IV

Hi,

I have solved this problem, this is my local.conf file:

MACHINE ??= 'imx6qsabresd'
DISTRO ?= 'fsl-imx-wayland'
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
    STOPTASKS,${TMPDIR},1G,100K \
    STOPTASKS,${DL_DIR},1G,100K \
    STOPTASKS,${SSTATE_DIR},1G,100K \
    STOPTASKS,/tmp,100M,100K \
    ABORT,${TMPDIR},100M,1K \
    ABORT,${DL_DIR},100M,1K \
    ABORT,${SSTATE_DIR},100M,1K \
    ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer alsa"
CONF_VERSION = "1"

DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"

View solution in original post

4 Replies
7,471 Views
fulinux
Contributor IV

Hi,

I have solved this problem, this is my local.conf file:

MACHINE ??= 'imx6qsabresd'
DISTRO ?= 'fsl-imx-wayland'
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
    STOPTASKS,${TMPDIR},1G,100K \
    STOPTASKS,${DL_DIR},1G,100K \
    STOPTASKS,${SSTATE_DIR},1G,100K \
    STOPTASKS,/tmp,100M,100K \
    ABORT,${TMPDIR},100M,1K \
    ABORT,${DL_DIR},100M,1K \
    ABORT,${SSTATE_DIR},100M,1K \
    ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer alsa"
CONF_VERSION = "1"

DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"

7,469 Views
yyuan
Contributor III

hi    

please  i have the   same problem

but   i can`t find the local.conf in my board.

please what is the local.conf?

thank you

0 Kudos
Reply
7,469 Views
b36401
NXP Employee
NXP Employee

You need to add qtmultimedia submodule.
Here is a document regarding to qtmultimedia usage:

https://community.nxp.com/docs/DOC-330047

Have a great day,
Victor

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply
7,469 Views
fulinux
Contributor IV

Hi Victor,

     Thank you for you reply.

     qtmultimedia has been added already in yocto, we don't need to add. look at this:

[fulinux@dev-ubuntu fsl-release-bsp]$ cat sources/meta-qt5/recipes-qt/qt5/qtmultimedia_git.bb    
require qt5.inc
require qt5-git.inc

# There are no LGPLv3-only licensed files in this component.
LICENSE = "GFDL-1.3 & BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)"
LIC_FILES_CHKSUM = " \
    file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \
    file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \
    file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
    file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \
    file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
"

DEPENDS += "qtdeclarative"

PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \
                   ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
PACKAGECONFIG[alsa] = ",,alsa-lib"
PACKAGECONFIG[pulseaudio] = ",,pulseaudio"
PACKAGECONFIG[openal] = ",,openal-soft"
PACKAGECONFIG[gstreamer] = ",,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
PACKAGECONFIG[gstreamer010] = ",,gstreamer gst-plugins-base gst-plugins-bad"

EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'alsa', '', 'CONFIG+=done_config_alsa', d)}"
EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', '', 'CONFIG+=done_config_pulseaudio', d)}"
EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'openal', '', 'CONFIG+=done_config_openal', d)}"

# Handles GStreamer support
EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'gstreamer', 'GST_VERSION=1.0', '', d)}"
EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'gstreamer010', 'GST_VERSION=0.10', '', d)}"
# Disable GStreamer if completely disabled
EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains_any('PACKAGECONFIG', 'gstreamer gstreamer010', '', 'CONFIG+=done_config_gstreamer', d)}"

SRC_URI += "\
     file://0001-Initial-porting-effort-to-GStreamer-1.0.patch \
"

SRCREV = "d7d31d63db5f0029a4a5e24d998601baee8bade0"

this is my local.conf:

[fulinux@dev-ubuntu build-wayland-4.1.15_2.1.0]$ cat conf/local.conf
MACHINE ??= 'imx6qsabresd'
DISTRO ?= 'fsl-imx-wayland'
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
    STOPTASKS,${TMPDIR},1G,100K \
    STOPTASKS,${DL_DIR},1G,100K \
    STOPTASKS,${SSTATE_DIR},1G,100K \
    STOPTASKS,/tmp,100M,100K \
    ABORT,${TMPDIR},100M,1K \
    ABORT,${DL_DIR},100M,1K \
    ABORT,${SSTATE_DIR},100M,1K \
    ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
CONF_VERSION = "1"

DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"

INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"
PRSERV_HOST = "localhost:0"
EXTRA_IMAGE_FEATURES += "package-management"

this is my bblayers.conf:
[fulinux@dev-ubuntu build-wayland-4.1.15_2.1.0]$ cat conf/bblayers.conf
POKY_BBLAYERS_CONF_VERSION = "2"

BBPATH = "${TOPDIR}"
BSPDIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)) + '/../..')}"

BBFILES ?= ""
BBLAYERS = " \
  ${BSPDIR}/sources/poky/meta \
  ${BSPDIR}/sources/poky/meta-poky \
  \
  ${BSPDIR}/sources/meta-openembedded/meta-oe \
  ${BSPDIR}/sources/meta-openembedded/meta-multimedia \
  \
  ${BSPDIR}/sources/meta-fsl-arm \
  ${BSPDIR}/sources/meta-fsl-arm-extra \
  ${BSPDIR}/sources/meta-fsl-demos \
"
##Freescale Yocto Project Release layer
BBLAYERS += " ${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-bsp "
BBLAYERS += " ${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-sdk "
BBLAYERS += " ${BSPDIR}/sources/meta-browser "
BBLAYERS += " ${BSPDIR}/sources/meta-openembedded/meta-gnome "
BBLAYERS += " ${BSPDIR}/sources/meta-openembedded/meta-networking "
BBLAYERS += " ${BSPDIR}/sources/meta-openembedded/meta-python "
BBLAYERS += " ${BSPDIR}/sources/meta-openembedded/meta-filesystems "
BBLAYERS += " ${BSPDIR}/sources/meta-qt5 "

And I have copied images/usr to my board /usr directory, run Qt example again:

root@imx6qsabresd:/tmp# cp -a image/usr/ /usr/
root@imx6qsabresd:/tmp# ls
akiyo_cif.yuv  declarative-camera  image  imx6q-klsw.dtb  libgstrtmp.so  librtmp.so  librtmp.so.0  multimedia  rootfs  touch  zImage
root@imx6qsabresd:/tmp# cp declarative-camera ~
root@imx6qsabresd:/tmp# cd

root@imx6qsabresd:~# export  DISPLAY=:0
root@imx6qsabresd:~# ./declarative-camera -platform wayland
Using Wayland-EGL
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera"
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
qrc:///VideoCaptureControls.qml:110: Error: Cannot assign [undefined] to QString
qrc:///CameraListButton.qml:65:5: QML CameraListPopup: Binding loop detected for property "currentValue"
qrc:///PhotoCaptureControls.qml:135: Error: Cannot assign [undefined] to QString
qrc:///CameraListButton.qml:65:5: QML CameraListPopup: Binding loop detected for property "currentValue"

I can also remember, it was no problem in L4.1.14_1.0.0.

than you!

fulinux.

0 Kudos
Reply